Hyunsoo Kim
  • Profile
  • Data Mining
  • R Basic
  • Data Visualization
  • Regression Analysis
  • Spatial Information Analysis
  • OpenData Analysis
  • Big Data Analysis Engineer

R Basic

  • Profile
    • Profile
  • Study
    • Data Mining
    • R Basic
    • Data Visualization
    • Regression Analysis
    • Spatial Information Analysis
    • OpenData Analysis
    • Big Data Analysis Engineer

On this page

  • R 기초
    • 2장. 변수와 벡터
    • 3장. 매트릭스와 데이터프레임
    • 4장. 조건문, 반복문, 함수
    • 5장. 단일변수 자료의 탐색
    • 6장. 다중변수 자료의 탐색
    • 7장. 데이터 전처리

R Basic

Basic
Code
R
Author

Hyunsoo Kim

Published

October 13, 2021

R 기초

모두를 위한 R 데이터 분석 입문

2장. 변수와 벡터

2 + 3  # 2 더하기 3
## [1] 5
(3 + 6) * 8
## [1] 72
2 ^ 3  # 2의 세제곱
## [1] 8
8 %% 3
## [1] 2
7 + 4
## [1] 11
log(10) + 5 # 로그함수
## [1] 7.302585
sqrt(25) # 제곱근
## [1] 5
max(5, 3, 2) # 가장 큰 값
## [1] 5
a <- 10
b <- 20
c <- a+b
print(c)
## [1] 30
a <- 125
a
## [1] 125
print(a)
## [1] 125
a <- 10 # a에 숫자 저장
b <- 20
a + b # a+b의 결과 출력
## [1] 30
a <- "A" # a에 문자 저장
a + b # a+b의 결과 출력. 에러 발생
## Error in a + b: non-numeric argument to binary operator
x <- c(1, 2, 3) # 숫자형 벡터
y <- c("a", "b", "c") # 문자형 벡터
z <- c(TRUE, TRUE, FALSE, TRUE) # 논리형 벡터
x ; y ;z
## [1] 1 2 3
## [1] "a" "b" "c"
## [1]  TRUE  TRUE FALSE  TRUE
w <- c(1, 2, 3, "a", "b", "c")
w
## [1] "1" "2" "3" "a" "b" "c"
v1 <- 50:90
v1
##  [1] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
## [26] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
v2 <- c(1, 2, 5, 50:90)
v2
##  [1]  1  2  5 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
## [26] 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
v3 <- seq(1, 101, 3)
v3
##  [1]   1   4   7  10  13  16  19  22  25  28  31  34  37  40  43  46  49  52  55
## [20]  58  61  64  67  70  73  76  79  82  85  88  91  94  97 100
v4 <- seq(0.1, 1.0, 0.1)
v4
##  [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
v5 <- rep(1, times = 5) # 1을 5번 반복
v5
## [1] 1 1 1 1 1
v6 <- rep(1:5, times = 3) # 1에서 5까지 3번 반복
v6
##  [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
v7 <- rep(c(1, 5, 9), times = 3) # 1, 5, 9를 3번 반복
v7
## [1] 1 5 9 1 5 9 1 5 9
v8 <- rep(1:5, each = 3) # 1에서 5를 각각 3번 반복
v8
##  [1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5

rep(1:3, each = 3, times = 3)
##  [1] 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3
rep(1:3, times = 3, each = 3)
##  [1] 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3 1 1 1 2 2 2 3 3 3
score <- c(90, 85, 70) # 성적
score
## [1] 90 85 70
names(score) # score에 저장된 값들의 이름을 보이시오
## NULL
names(score) <- c("John", "Tom", "Jane") # 값들에 이름을 부여
names(score) # score에 저장된 값들의 이름을 보이시오
## [1] "John" "Tom"  "Jane"
score # 이름과 함께 값이 출력
## John  Tom Jane 
##   90   85   70
d <- c(1, 4, 3, 7, 8)
d[1]
## [1] 1
d[2]
## [1] 4
d[3]
## [1] 3
d[4]
## [1] 7
d[5]
## [1] 8
d[6]
## [1] NA
d[c(2, 4)]
## [1] 4 7
d <- c(1, 4, 3, 7, 8)
d[c(1, 3, 5)] # 1, 3, 5번째 값 출력
## [1] 1 3 8
d[1:3] # 처음 세 개의 값 출력
## [1] 1 4 3
d[seq(1, 5, 2)] # 홀수 번째 값 출력
## [1] 1 3 8
d[-2] # 2번째 값 제외하고 출력
## [1] 1 3 7 8
d[-c(3:5)] # 3~5번째 값은 제외하고 출력
## [1] 1 4
GNP <- c(2000, 2450, 960)
GNP
## [1] 2000 2450  960
names(GNP) <- c("Korea", "Japan", "Nepal")
GNP
## Korea Japan Nepal 
##  2000  2450   960
GNP[1]
## Korea 
##  2000
GNP["Korea"]
## Korea 
##  2000
GNP_NEW <- GNP[c("Korea", "Nepal")]
GNP_NEW
## Korea Nepal 
##  2000   960
v1 <- c(1, 5, 7, 8, 9)
v1
## [1] 1 5 7 8 9
v1[2] <- 3 # v1의 2번째 값을 3으로 변경
v1
## [1] 1 3 7 8 9
v1[c(1, 5)] <- c(10, 20) # v1의 1, 5번째 값을 각각 10, 20으로 변경
v1
## [1] 10  3  7  8 20
d <- c(1, 4, 3, 7, 8)
2 * d
## [1]  2  8  6 14 16
d - 5
## [1] -4 -1 -2  2  3
3 * d + 4
## [1]  7 16 13 25 28
x <- c(1, 2, 3)
y <- c(4, 5, 6)
x + y # 대응하는 원소끼리 더하여 출력
## [1] 5 7 9
x * y # 대응하는 원소끼리 곱하여 출력
## [1]  4 10 18
z <- x + y # x, y를 더하여 z에 저장
z
## [1] 5 7 9
d <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sum(d) # d에 포함된 값들의 합
## [1] 55
sum(2 * d) # d에 포함된 값들에 2를 곱한 후 합한 값
## [1] 110
length(d) # d에 포함된 값들의 개수
## [1] 10
mean(d[1:5]) # 1~5번째 값들의 평균
## [1] 3
max(d) # d에 포함된 값들의 최댓값
## [1] 10
min(d) # d에 포함된 값들의 최솟값
## [1] 1
sort(d) # 오름차순 정렬
##  [1]  1  2  3  4  5  6  7  8  9 10
sort(d, decreasing = FALSE) # 오름차순 정렬
##  [1]  1  2  3  4  5  6  7  8  9 10
sort(d, decreasing = TRUE) # 내림차순 정렬
##  [1] 10  9  8  7  6  5  4  3  2  1
sort(d, TRUE) # 내림차순 정렬
##  [1] 10  9  8  7  6  5  4  3  2  1

v1 <- median(d)
v1
## [1] 5.5
v2 <- sum(d) / length(d)
v2
## [1] 5.5
mean(d)
## [1] 5.5
d <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
d >= 5
## [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
d[d > 5] # 5보다 큰 값
## [1] 6 7 8 9
sum(d > 5) # 5보다 큰 값의 개수를 출력
## [1] 4
sum(d[d > 5]) # 5보다 큰 값의 합계를 출력
## [1] 30
d == 5
## [1] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE

condi <- d > 5 & d < 8 # 조건을 변수에 저장
d[condi] # 조건에 맞는 값들을 선택
## [1] 6 7
d[d > 5 & d < 8]
## [1] 6 7
ds <- c(90, 85, 70, 84)
my.info <- list(name = 'Tom', age = 60, status = TRUE, score = ds)
my.info # 리스트에 저장된 내용을 모두 출력
## $name
## [1] "Tom"
## 
## $age
## [1] 60
## 
## $status
## [1] TRUE
## 
## $score
## [1] 90 85 70 84
my.info[1] # 이름이랑 내용 다 출력
## $name
## [1] "Tom"
my.info[[1]] # 리스트의 첫 번째 값을 출력
## [1] "Tom"
my.info$name # 리스트에서 값의 이름이 name인 값을 출력
## [1] "Tom"
my.info[[4]] # 리스트의 네 번째 값을 출력
## [1] 90 85 70 84
bt <- c('A', 'B', 'B', 'O', 'AB', 'A') # 문자형 벡터 bt 정의
bt.new <- factor(bt) # 팩터 bt.new 정의
bt # 벡터 bt의 내용 출력
## [1] "A"  "B"  "B"  "O"  "AB" "A"
bt.new # 팩터 bt.new의 내용 출력
## [1] A  B  B  O  AB A 
## Levels: A AB B O
bt[5] # 벡터 bt의 5번째 값 출력
## [1] "AB"
bt.new[5] # 팩터 bt.new의 5번째 값 출력
## [1] AB
## Levels: A AB B O
levels(bt.new) # 팩터에 저장된 값의 종류를 출력
## [1] "A"  "AB" "B"  "O"
as.integer(bt.new) # 팩터의 문자값을 숫자로 바꾸어 출력
## [1] 1 3 3 4 2 1
bt.new[7] <- 'B' # 팩터 bt.new의 7번째에 'B' 저장
bt.new[8] <- 'C' # 팩터 bt.new의 8번째에 'C' 저장
## Warning in `[<-.factor`(`*tmp*`, 8, value = "C"): invalid factor level, NA
## generated
bt.new # 팩터 bt.new의 내용 출력
## [1] A    B    B    O    AB   A    B    <NA>
## Levels: A AB B O

3장. 매트릭스와 데이터프레임

z <- matrix(1:20, nrow = 4, ncol = 5)
z # 매트릭스 z의 내용을 출력
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20
z2 <- matrix(1:20, nrow = 4, ncol = 5, byrow = T)
z2 # 매트릭스 z2의 내용을 출력
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    2    3    4    5
## [2,]    6    7    8    9   10
## [3,]   11   12   13   14   15
## [4,]   16   17   18   19   20

z <- matrix(1:16, nrow = 4, ncol = 5)
## Warning in matrix(1:16, nrow = 4, ncol = 5): data length [16] is not a
## sub-multiple or multiple of the number of columns [5]
z
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13    1
## [2,]    2    6   10   14    2
## [3,]    3    7   11   15    3
## [4,]    4    8   12   16    4
x <- 1:4 # 벡터 x 생성
y <- 5:8 # 벡터 y 생성
z <- matrix(1:20, nrow = 4, ncol = 5) # 매트릭스 z 생성

m1 <- cbind(x, y) # x와 y를 열 방향으로 결합하여 매트릭스 생성
m1 # 매트릭스 m1의 내용을 출력
##      x y
## [1,] 1 5
## [2,] 2 6
## [3,] 3 7
## [4,] 4 8
m2 <- rbind(x, y) # x와 y를 행 방향으로 결합하여 매트릭스 생성
m2 # 매트릭스 m2의 내용을 출력
##   [,1] [,2] [,3] [,4]
## x    1    2    3    4
## y    5    6    7    8
m3 <- rbind(m2, x) # m2와 벡터 x를 행 방향으로 결합
m3 # 매트릭스 m3의 내용을 출력
##   [,1] [,2] [,3] [,4]
## x    1    2    3    4
## y    5    6    7    8
## x    1    2    3    4
m4 <- cbind(z, x) # 매트릭스 z와 벡터 x를 열 방향으로 결합
m4 # 매트릭스 m4의 내용을 출력
##                   x
## [1,] 1 5  9 13 17 1
## [2,] 2 6 10 14 18 2
## [3,] 3 7 11 15 19 3
## [4,] 4 8 12 16 20 4

x <- 1:5
m5 <- cbind(z, x)
## Warning in cbind(z, x): number of rows of result is not a multiple of vector
## length (arg 2)
m5
##                   x
## [1,] 1 5  9 13 17 1
## [2,] 2 6 10 14 18 2
## [3,] 3 7 11 15 19 3
## [4,] 4 8 12 16 20 4
z <- matrix(1:20, nrow = 4, ncol = 5) # 매트릭스 z 생성
z # 매트릭스 z의 내용 출력
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20

z[2, 3] # 2행 3열에 있는 값
## [1] 10
z[1, 4] # 1행 4열에 있는 값
## [1] 13
z[2, ] # 2행에 있는 모든 값
## [1]  2  6 10 14 18
z[, 4] # 4열에 있는 모든 값
## [1] 13 14 15 16
z[, ]
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20
z
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20
z <- matrix(1:20, nrow = 4, ncol = 5) # 매트릭스 z 생성
z # 매트릭스 z의 내용 출력
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20

z[2, 1:3] # 2행의 값 중 1~3열에 있는 값
## [1]  2  6 10
z[1, c(1, 2, 4)] # 1행의 값 중 1, 2, 4열에 있는 값
## [1]  1  5 13
z[1:2, ] # 1, 2행에 있는 모든 값
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
z[, c(1, 4)] # 1, 4열에 있는 모든 값
##      [,1] [,2]
## [1,]    1   13
## [2,]    2   14
## [3,]    3   15
## [4,]    4   16
score <- matrix(c(90, 85, 69, 78,
                  85, 96, 49, 95,
                  90, 80, 70, 60),
                nrow = 4,
                ncol = 3)
score
##      [,1] [,2] [,3]
## [1,]   90   85   90
## [2,]   85   96   80
## [3,]   69   49   70
## [4,]   78   95   60
rownames(score) <- c('John', 'Tom', 'Mark', 'Jane')
colnames(score) <- c('English', 'Math', 'Science')
score
##      English Math Science
## John      90   85      90
## Tom       85   96      80
## Mark      69   49      70
## Jane      78   95      60
score['John', 'Math'] # John의 수학 성적
## [1] 85
score['Tom', c('Math', 'Science')] # Tom의 수학, 과학 성적
##    Math Science 
##      96      80
score['Mark', ] # Mark의 모든 과목 성적
## English    Math Science 
##      69      49      70
score[, 'English'] # 모든 학생의 영어 성적
## John  Tom Mark Jane 
##   90   85   69   78
rownames(score) # score의 행의 이름
## [1] "John" "Tom"  "Mark" "Jane"
colnames(score) # score의 열의 이름
## [1] "English" "Math"    "Science"
colnames(score)[2] # score의 열의 이름 중 두 번째 값
## [1] "Math"
city <- c("Seoul", "Tokyo", "Washington") # 문자로 이루어진 벡터
rank <- c(1, 3, 2) # 숫자로 이루어진 벡터
city.info <- data.frame(city, rank) # 데이터프레임 생성
city.info # city.info의 내용 출력
##         city rank
## 1      Seoul    1
## 2      Tokyo    3
## 3 Washington    2
# iris
iris[, c(1:2)] # 1, 2열의 모든 데이터
##     Sepal.Length Sepal.Width
## 1            5.1         3.5
## 2            4.9         3.0
## 3            4.7         3.2
## 4            4.6         3.1
## 5            5.0         3.6
## 6            5.4         3.9
## 7            4.6         3.4
## 8            5.0         3.4
## 9            4.4         2.9
## 10           4.9         3.1
## 11           5.4         3.7
## 12           4.8         3.4
## 13           4.8         3.0
## 14           4.3         3.0
## 15           5.8         4.0
## 16           5.7         4.4
## 17           5.4         3.9
## 18           5.1         3.5
## 19           5.7         3.8
## 20           5.1         3.8
## 21           5.4         3.4
## 22           5.1         3.7
## 23           4.6         3.6
## 24           5.1         3.3
## 25           4.8         3.4
## 26           5.0         3.0
## 27           5.0         3.4
## 28           5.2         3.5
## 29           5.2         3.4
## 30           4.7         3.2
## 31           4.8         3.1
## 32           5.4         3.4
## 33           5.2         4.1
## 34           5.5         4.2
## 35           4.9         3.1
## 36           5.0         3.2
## 37           5.5         3.5
## 38           4.9         3.6
## 39           4.4         3.0
## 40           5.1         3.4
## 41           5.0         3.5
## 42           4.5         2.3
## 43           4.4         3.2
## 44           5.0         3.5
## 45           5.1         3.8
## 46           4.8         3.0
## 47           5.1         3.8
## 48           4.6         3.2
## 49           5.3         3.7
## 50           5.0         3.3
## 51           7.0         3.2
## 52           6.4         3.2
## 53           6.9         3.1
## 54           5.5         2.3
## 55           6.5         2.8
## 56           5.7         2.8
## 57           6.3         3.3
## 58           4.9         2.4
## 59           6.6         2.9
## 60           5.2         2.7
## 61           5.0         2.0
## 62           5.9         3.0
## 63           6.0         2.2
## 64           6.1         2.9
## 65           5.6         2.9
## 66           6.7         3.1
## 67           5.6         3.0
## 68           5.8         2.7
## 69           6.2         2.2
## 70           5.6         2.5
## 71           5.9         3.2
## 72           6.1         2.8
## 73           6.3         2.5
## 74           6.1         2.8
## 75           6.4         2.9
## 76           6.6         3.0
## 77           6.8         2.8
## 78           6.7         3.0
## 79           6.0         2.9
## 80           5.7         2.6
## 81           5.5         2.4
## 82           5.5         2.4
## 83           5.8         2.7
## 84           6.0         2.7
## 85           5.4         3.0
## 86           6.0         3.4
## 87           6.7         3.1
## 88           6.3         2.3
## 89           5.6         3.0
## 90           5.5         2.5
## 91           5.5         2.6
## 92           6.1         3.0
## 93           5.8         2.6
## 94           5.0         2.3
## 95           5.6         2.7
## 96           5.7         3.0
## 97           5.7         2.9
## 98           6.2         2.9
## 99           5.1         2.5
## 100          5.7         2.8
## 101          6.3         3.3
## 102          5.8         2.7
## 103          7.1         3.0
## 104          6.3         2.9
## 105          6.5         3.0
## 106          7.6         3.0
## 107          4.9         2.5
## 108          7.3         2.9
## 109          6.7         2.5
## 110          7.2         3.6
## 111          6.5         3.2
## 112          6.4         2.7
## 113          6.8         3.0
## 114          5.7         2.5
## 115          5.8         2.8
## 116          6.4         3.2
## 117          6.5         3.0
## 118          7.7         3.8
## 119          7.7         2.6
## 120          6.0         2.2
## 121          6.9         3.2
## 122          5.6         2.8
## 123          7.7         2.8
## 124          6.3         2.7
## 125          6.7         3.3
## 126          7.2         3.2
## 127          6.2         2.8
## 128          6.1         3.0
## 129          6.4         2.8
## 130          7.2         3.0
## 131          7.4         2.8
## 132          7.9         3.8
## 133          6.4         2.8
## 134          6.3         2.8
## 135          6.1         2.6
## 136          7.7         3.0
## 137          6.3         3.4
## 138          6.4         3.1
## 139          6.0         3.0
## 140          6.9         3.1
## 141          6.7         3.1
## 142          6.9         3.1
## 143          5.8         2.7
## 144          6.8         3.2
## 145          6.7         3.3
## 146          6.7         3.0
## 147          6.3         2.5
## 148          6.5         3.0
## 149          6.2         3.4
## 150          5.9         3.0
iris[, c(1, 3, 5)] # 1, 3, 5열의 모든 데이터
##     Sepal.Length Petal.Length    Species
## 1            5.1          1.4     setosa
## 2            4.9          1.4     setosa
## 3            4.7          1.3     setosa
## 4            4.6          1.5     setosa
## 5            5.0          1.4     setosa
## 6            5.4          1.7     setosa
## 7            4.6          1.4     setosa
## 8            5.0          1.5     setosa
## 9            4.4          1.4     setosa
## 10           4.9          1.5     setosa
## 11           5.4          1.5     setosa
## 12           4.8          1.6     setosa
## 13           4.8          1.4     setosa
## 14           4.3          1.1     setosa
## 15           5.8          1.2     setosa
## 16           5.7          1.5     setosa
## 17           5.4          1.3     setosa
## 18           5.1          1.4     setosa
## 19           5.7          1.7     setosa
## 20           5.1          1.5     setosa
## 21           5.4          1.7     setosa
## 22           5.1          1.5     setosa
## 23           4.6          1.0     setosa
## 24           5.1          1.7     setosa
## 25           4.8          1.9     setosa
## 26           5.0          1.6     setosa
## 27           5.0          1.6     setosa
## 28           5.2          1.5     setosa
## 29           5.2          1.4     setosa
## 30           4.7          1.6     setosa
## 31           4.8          1.6     setosa
## 32           5.4          1.5     setosa
## 33           5.2          1.5     setosa
## 34           5.5          1.4     setosa
## 35           4.9          1.5     setosa
## 36           5.0          1.2     setosa
## 37           5.5          1.3     setosa
## 38           4.9          1.4     setosa
## 39           4.4          1.3     setosa
## 40           5.1          1.5     setosa
## 41           5.0          1.3     setosa
## 42           4.5          1.3     setosa
## 43           4.4          1.3     setosa
## 44           5.0          1.6     setosa
## 45           5.1          1.9     setosa
## 46           4.8          1.4     setosa
## 47           5.1          1.6     setosa
## 48           4.6          1.4     setosa
## 49           5.3          1.5     setosa
## 50           5.0          1.4     setosa
## 51           7.0          4.7 versicolor
## 52           6.4          4.5 versicolor
## 53           6.9          4.9 versicolor
## 54           5.5          4.0 versicolor
## 55           6.5          4.6 versicolor
## 56           5.7          4.5 versicolor
## 57           6.3          4.7 versicolor
## 58           4.9          3.3 versicolor
## 59           6.6          4.6 versicolor
## 60           5.2          3.9 versicolor
## 61           5.0          3.5 versicolor
## 62           5.9          4.2 versicolor
## 63           6.0          4.0 versicolor
## 64           6.1          4.7 versicolor
## 65           5.6          3.6 versicolor
## 66           6.7          4.4 versicolor
## 67           5.6          4.5 versicolor
## 68           5.8          4.1 versicolor
## 69           6.2          4.5 versicolor
## 70           5.6          3.9 versicolor
## 71           5.9          4.8 versicolor
## 72           6.1          4.0 versicolor
## 73           6.3          4.9 versicolor
## 74           6.1          4.7 versicolor
## 75           6.4          4.3 versicolor
## 76           6.6          4.4 versicolor
## 77           6.8          4.8 versicolor
## 78           6.7          5.0 versicolor
## 79           6.0          4.5 versicolor
## 80           5.7          3.5 versicolor
## 81           5.5          3.8 versicolor
## 82           5.5          3.7 versicolor
## 83           5.8          3.9 versicolor
## 84           6.0          5.1 versicolor
## 85           5.4          4.5 versicolor
## 86           6.0          4.5 versicolor
## 87           6.7          4.7 versicolor
## 88           6.3          4.4 versicolor
## 89           5.6          4.1 versicolor
## 90           5.5          4.0 versicolor
## 91           5.5          4.4 versicolor
## 92           6.1          4.6 versicolor
## 93           5.8          4.0 versicolor
## 94           5.0          3.3 versicolor
## 95           5.6          4.2 versicolor
## 96           5.7          4.2 versicolor
## 97           5.7          4.2 versicolor
## 98           6.2          4.3 versicolor
## 99           5.1          3.0 versicolor
## 100          5.7          4.1 versicolor
## 101          6.3          6.0  virginica
## 102          5.8          5.1  virginica
## 103          7.1          5.9  virginica
## 104          6.3          5.6  virginica
## 105          6.5          5.8  virginica
## 106          7.6          6.6  virginica
## 107          4.9          4.5  virginica
## 108          7.3          6.3  virginica
## 109          6.7          5.8  virginica
## 110          7.2          6.1  virginica
## 111          6.5          5.1  virginica
## 112          6.4          5.3  virginica
## 113          6.8          5.5  virginica
## 114          5.7          5.0  virginica
## 115          5.8          5.1  virginica
## 116          6.4          5.3  virginica
## 117          6.5          5.5  virginica
## 118          7.7          6.7  virginica
## 119          7.7          6.9  virginica
## 120          6.0          5.0  virginica
## 121          6.9          5.7  virginica
## 122          5.6          4.9  virginica
## 123          7.7          6.7  virginica
## 124          6.3          4.9  virginica
## 125          6.7          5.7  virginica
## 126          7.2          6.0  virginica
## 127          6.2          4.8  virginica
## 128          6.1          4.9  virginica
## 129          6.4          5.6  virginica
## 130          7.2          5.8  virginica
## 131          7.4          6.1  virginica
## 132          7.9          6.4  virginica
## 133          6.4          5.6  virginica
## 134          6.3          5.1  virginica
## 135          6.1          5.6  virginica
## 136          7.7          6.1  virginica
## 137          6.3          5.6  virginica
## 138          6.4          5.5  virginica
## 139          6.0          4.8  virginica
## 140          6.9          5.4  virginica
## 141          6.7          5.6  virginica
## 142          6.9          5.1  virginica
## 143          5.8          5.1  virginica
## 144          6.8          5.9  virginica
## 145          6.7          5.7  virginica
## 146          6.7          5.2  virginica
## 147          6.3          5.0  virginica
## 148          6.5          5.2  virginica
## 149          6.2          5.4  virginica
## 150          5.9          5.1  virginica
iris[, c("Sepal.Length", "Species")] # 1, 5열의 모든 데이터
##     Sepal.Length    Species
## 1            5.1     setosa
## 2            4.9     setosa
## 3            4.7     setosa
## 4            4.6     setosa
## 5            5.0     setosa
## 6            5.4     setosa
## 7            4.6     setosa
## 8            5.0     setosa
## 9            4.4     setosa
## 10           4.9     setosa
## 11           5.4     setosa
## 12           4.8     setosa
## 13           4.8     setosa
## 14           4.3     setosa
## 15           5.8     setosa
## 16           5.7     setosa
## 17           5.4     setosa
## 18           5.1     setosa
## 19           5.7     setosa
## 20           5.1     setosa
## 21           5.4     setosa
## 22           5.1     setosa
## 23           4.6     setosa
## 24           5.1     setosa
## 25           4.8     setosa
## 26           5.0     setosa
## 27           5.0     setosa
## 28           5.2     setosa
## 29           5.2     setosa
## 30           4.7     setosa
## 31           4.8     setosa
## 32           5.4     setosa
## 33           5.2     setosa
## 34           5.5     setosa
## 35           4.9     setosa
## 36           5.0     setosa
## 37           5.5     setosa
## 38           4.9     setosa
## 39           4.4     setosa
## 40           5.1     setosa
## 41           5.0     setosa
## 42           4.5     setosa
## 43           4.4     setosa
## 44           5.0     setosa
## 45           5.1     setosa
## 46           4.8     setosa
## 47           5.1     setosa
## 48           4.6     setosa
## 49           5.3     setosa
## 50           5.0     setosa
## 51           7.0 versicolor
## 52           6.4 versicolor
## 53           6.9 versicolor
## 54           5.5 versicolor
## 55           6.5 versicolor
## 56           5.7 versicolor
## 57           6.3 versicolor
## 58           4.9 versicolor
## 59           6.6 versicolor
## 60           5.2 versicolor
## 61           5.0 versicolor
## 62           5.9 versicolor
## 63           6.0 versicolor
## 64           6.1 versicolor
## 65           5.6 versicolor
## 66           6.7 versicolor
## 67           5.6 versicolor
## 68           5.8 versicolor
## 69           6.2 versicolor
## 70           5.6 versicolor
## 71           5.9 versicolor
## 72           6.1 versicolor
## 73           6.3 versicolor
## 74           6.1 versicolor
## 75           6.4 versicolor
## 76           6.6 versicolor
## 77           6.8 versicolor
## 78           6.7 versicolor
## 79           6.0 versicolor
## 80           5.7 versicolor
## 81           5.5 versicolor
## 82           5.5 versicolor
## 83           5.8 versicolor
## 84           6.0 versicolor
## 85           5.4 versicolor
## 86           6.0 versicolor
## 87           6.7 versicolor
## 88           6.3 versicolor
## 89           5.6 versicolor
## 90           5.5 versicolor
## 91           5.5 versicolor
## 92           6.1 versicolor
## 93           5.8 versicolor
## 94           5.0 versicolor
## 95           5.6 versicolor
## 96           5.7 versicolor
## 97           5.7 versicolor
## 98           6.2 versicolor
## 99           5.1 versicolor
## 100          5.7 versicolor
## 101          6.3  virginica
## 102          5.8  virginica
## 103          7.1  virginica
## 104          6.3  virginica
## 105          6.5  virginica
## 106          7.6  virginica
## 107          4.9  virginica
## 108          7.3  virginica
## 109          6.7  virginica
## 110          7.2  virginica
## 111          6.5  virginica
## 112          6.4  virginica
## 113          6.8  virginica
## 114          5.7  virginica
## 115          5.8  virginica
## 116          6.4  virginica
## 117          6.5  virginica
## 118          7.7  virginica
## 119          7.7  virginica
## 120          6.0  virginica
## 121          6.9  virginica
## 122          5.6  virginica
## 123          7.7  virginica
## 124          6.3  virginica
## 125          6.7  virginica
## 126          7.2  virginica
## 127          6.2  virginica
## 128          6.1  virginica
## 129          6.4  virginica
## 130          7.2  virginica
## 131          7.4  virginica
## 132          7.9  virginica
## 133          6.4  virginica
## 134          6.3  virginica
## 135          6.1  virginica
## 136          7.7  virginica
## 137          6.3  virginica
## 138          6.4  virginica
## 139          6.0  virginica
## 140          6.9  virginica
## 141          6.7  virginica
## 142          6.9  virginica
## 143          5.8  virginica
## 144          6.8  virginica
## 145          6.7  virginica
## 146          6.7  virginica
## 147          6.3  virginica
## 148          6.5  virginica
## 149          6.2  virginica
## 150          5.9  virginica
iris[1:5, ] # 1~5행의 모든 데이터
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
iris[1:5, c(1, 3)] # 1~5행의 데이터 중 1, 3열의 데이터
##   Sepal.Length Petal.Length
## 1          5.1          1.4
## 2          4.9          1.4
## 3          4.7          1.3
## 4          4.6          1.5
## 5          5.0          1.4
dim(iris) # 행과 열의 개수 출력
## [1] 150   5
nrow(iris) # 행의 개수 출력
## [1] 150
ncol(iris) # 열의 개수 출력
## [1] 5
colnames(iris) # 열 이름 출력, names()와 결과 동일
## [1] "Sepal.Length" "Sepal.Width"  "Petal.Length" "Petal.Width"  "Species"
head(iris) # 데이터셋의 앞부분 일부 출력
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
tail(iris) # 데이터셋의 뒷부분 일부 출력
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica

head(iris, 10)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
tail(iris, 20)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 131          7.4         2.8          6.1         1.9 virginica
## 132          7.9         3.8          6.4         2.0 virginica
## 133          6.4         2.8          5.6         2.2 virginica
## 134          6.3         2.8          5.1         1.5 virginica
## 135          6.1         2.6          5.6         1.4 virginica
## 136          7.7         3.0          6.1         2.3 virginica
## 137          6.3         3.4          5.6         2.4 virginica
## 138          6.4         3.1          5.5         1.8 virginica
## 139          6.0         3.0          4.8         1.8 virginica
## 140          6.9         3.1          5.4         2.1 virginica
## 141          6.7         3.1          5.6         2.4 virginica
## 142          6.9         3.1          5.1         2.3 virginica
## 143          5.8         2.7          5.1         1.9 virginica
## 144          6.8         3.2          5.9         2.3 virginica
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica
str(iris) # 데이터셋 요약 정보 보기
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
iris[, 5] # 품종 데이터 보기
##   [1] setosa     setosa     setosa     setosa     setosa     setosa    
##   [7] setosa     setosa     setosa     setosa     setosa     setosa    
##  [13] setosa     setosa     setosa     setosa     setosa     setosa    
##  [19] setosa     setosa     setosa     setosa     setosa     setosa    
##  [25] setosa     setosa     setosa     setosa     setosa     setosa    
##  [31] setosa     setosa     setosa     setosa     setosa     setosa    
##  [37] setosa     setosa     setosa     setosa     setosa     setosa    
##  [43] setosa     setosa     setosa     setosa     setosa     setosa    
##  [49] setosa     setosa     versicolor versicolor versicolor versicolor
##  [55] versicolor versicolor versicolor versicolor versicolor versicolor
##  [61] versicolor versicolor versicolor versicolor versicolor versicolor
##  [67] versicolor versicolor versicolor versicolor versicolor versicolor
##  [73] versicolor versicolor versicolor versicolor versicolor versicolor
##  [79] versicolor versicolor versicolor versicolor versicolor versicolor
##  [85] versicolor versicolor versicolor versicolor versicolor versicolor
##  [91] versicolor versicolor versicolor versicolor versicolor versicolor
##  [97] versicolor versicolor versicolor versicolor virginica  virginica 
## [103] virginica  virginica  virginica  virginica  virginica  virginica 
## [109] virginica  virginica  virginica  virginica  virginica  virginica 
## [115] virginica  virginica  virginica  virginica  virginica  virginica 
## [121] virginica  virginica  virginica  virginica  virginica  virginica 
## [127] virginica  virginica  virginica  virginica  virginica  virginica 
## [133] virginica  virginica  virginica  virginica  virginica  virginica 
## [139] virginica  virginica  virginica  virginica  virginica  virginica 
## [145] virginica  virginica  virginica  virginica  virginica  virginica 
## Levels: setosa versicolor virginica
unique(iris[, 5]) # 품종의 종류 보기(중복 제거)
## [1] setosa     versicolor virginica 
## Levels: setosa versicolor virginica
table(iris[, "Species"]) # 품종의 종류별 행의 개수 세기
## 
##     setosa versicolor  virginica 
##         50         50         50
iris[, -5]
##     Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1            5.1         3.5          1.4         0.2
## 2            4.9         3.0          1.4         0.2
## 3            4.7         3.2          1.3         0.2
## 4            4.6         3.1          1.5         0.2
## 5            5.0         3.6          1.4         0.2
## 6            5.4         3.9          1.7         0.4
## 7            4.6         3.4          1.4         0.3
## 8            5.0         3.4          1.5         0.2
## 9            4.4         2.9          1.4         0.2
## 10           4.9         3.1          1.5         0.1
## 11           5.4         3.7          1.5         0.2
## 12           4.8         3.4          1.6         0.2
## 13           4.8         3.0          1.4         0.1
## 14           4.3         3.0          1.1         0.1
## 15           5.8         4.0          1.2         0.2
## 16           5.7         4.4          1.5         0.4
## 17           5.4         3.9          1.3         0.4
## 18           5.1         3.5          1.4         0.3
## 19           5.7         3.8          1.7         0.3
## 20           5.1         3.8          1.5         0.3
## 21           5.4         3.4          1.7         0.2
## 22           5.1         3.7          1.5         0.4
## 23           4.6         3.6          1.0         0.2
## 24           5.1         3.3          1.7         0.5
## 25           4.8         3.4          1.9         0.2
## 26           5.0         3.0          1.6         0.2
## 27           5.0         3.4          1.6         0.4
## 28           5.2         3.5          1.5         0.2
## 29           5.2         3.4          1.4         0.2
## 30           4.7         3.2          1.6         0.2
## 31           4.8         3.1          1.6         0.2
## 32           5.4         3.4          1.5         0.4
## 33           5.2         4.1          1.5         0.1
## 34           5.5         4.2          1.4         0.2
## 35           4.9         3.1          1.5         0.2
## 36           5.0         3.2          1.2         0.2
## 37           5.5         3.5          1.3         0.2
## 38           4.9         3.6          1.4         0.1
## 39           4.4         3.0          1.3         0.2
## 40           5.1         3.4          1.5         0.2
## 41           5.0         3.5          1.3         0.3
## 42           4.5         2.3          1.3         0.3
## 43           4.4         3.2          1.3         0.2
## 44           5.0         3.5          1.6         0.6
## 45           5.1         3.8          1.9         0.4
## 46           4.8         3.0          1.4         0.3
## 47           5.1         3.8          1.6         0.2
## 48           4.6         3.2          1.4         0.2
## 49           5.3         3.7          1.5         0.2
## 50           5.0         3.3          1.4         0.2
## 51           7.0         3.2          4.7         1.4
## 52           6.4         3.2          4.5         1.5
## 53           6.9         3.1          4.9         1.5
## 54           5.5         2.3          4.0         1.3
## 55           6.5         2.8          4.6         1.5
## 56           5.7         2.8          4.5         1.3
## 57           6.3         3.3          4.7         1.6
## 58           4.9         2.4          3.3         1.0
## 59           6.6         2.9          4.6         1.3
## 60           5.2         2.7          3.9         1.4
## 61           5.0         2.0          3.5         1.0
## 62           5.9         3.0          4.2         1.5
## 63           6.0         2.2          4.0         1.0
## 64           6.1         2.9          4.7         1.4
## 65           5.6         2.9          3.6         1.3
## 66           6.7         3.1          4.4         1.4
## 67           5.6         3.0          4.5         1.5
## 68           5.8         2.7          4.1         1.0
## 69           6.2         2.2          4.5         1.5
## 70           5.6         2.5          3.9         1.1
## 71           5.9         3.2          4.8         1.8
## 72           6.1         2.8          4.0         1.3
## 73           6.3         2.5          4.9         1.5
## 74           6.1         2.8          4.7         1.2
## 75           6.4         2.9          4.3         1.3
## 76           6.6         3.0          4.4         1.4
## 77           6.8         2.8          4.8         1.4
## 78           6.7         3.0          5.0         1.7
## 79           6.0         2.9          4.5         1.5
## 80           5.7         2.6          3.5         1.0
## 81           5.5         2.4          3.8         1.1
## 82           5.5         2.4          3.7         1.0
## 83           5.8         2.7          3.9         1.2
## 84           6.0         2.7          5.1         1.6
## 85           5.4         3.0          4.5         1.5
## 86           6.0         3.4          4.5         1.6
## 87           6.7         3.1          4.7         1.5
## 88           6.3         2.3          4.4         1.3
## 89           5.6         3.0          4.1         1.3
## 90           5.5         2.5          4.0         1.3
## 91           5.5         2.6          4.4         1.2
## 92           6.1         3.0          4.6         1.4
## 93           5.8         2.6          4.0         1.2
## 94           5.0         2.3          3.3         1.0
## 95           5.6         2.7          4.2         1.3
## 96           5.7         3.0          4.2         1.2
## 97           5.7         2.9          4.2         1.3
## 98           6.2         2.9          4.3         1.3
## 99           5.1         2.5          3.0         1.1
## 100          5.7         2.8          4.1         1.3
## 101          6.3         3.3          6.0         2.5
## 102          5.8         2.7          5.1         1.9
## 103          7.1         3.0          5.9         2.1
## 104          6.3         2.9          5.6         1.8
## 105          6.5         3.0          5.8         2.2
## 106          7.6         3.0          6.6         2.1
## 107          4.9         2.5          4.5         1.7
## 108          7.3         2.9          6.3         1.8
## 109          6.7         2.5          5.8         1.8
## 110          7.2         3.6          6.1         2.5
## 111          6.5         3.2          5.1         2.0
## 112          6.4         2.7          5.3         1.9
## 113          6.8         3.0          5.5         2.1
## 114          5.7         2.5          5.0         2.0
## 115          5.8         2.8          5.1         2.4
## 116          6.4         3.2          5.3         2.3
## 117          6.5         3.0          5.5         1.8
## 118          7.7         3.8          6.7         2.2
## 119          7.7         2.6          6.9         2.3
## 120          6.0         2.2          5.0         1.5
## 121          6.9         3.2          5.7         2.3
## 122          5.6         2.8          4.9         2.0
## 123          7.7         2.8          6.7         2.0
## 124          6.3         2.7          4.9         1.8
## 125          6.7         3.3          5.7         2.1
## 126          7.2         3.2          6.0         1.8
## 127          6.2         2.8          4.8         1.8
## 128          6.1         3.0          4.9         1.8
## 129          6.4         2.8          5.6         2.1
## 130          7.2         3.0          5.8         1.6
## 131          7.4         2.8          6.1         1.9
## 132          7.9         3.8          6.4         2.0
## 133          6.4         2.8          5.6         2.2
## 134          6.3         2.8          5.1         1.5
## 135          6.1         2.6          5.6         1.4
## 136          7.7         3.0          6.1         2.3
## 137          6.3         3.4          5.6         2.4
## 138          6.4         3.1          5.5         1.8
## 139          6.0         3.0          4.8         1.8
## 140          6.9         3.1          5.4         2.1
## 141          6.7         3.1          5.6         2.4
## 142          6.9         3.1          5.1         2.3
## 143          5.8         2.7          5.1         1.9
## 144          6.8         3.2          5.9         2.3
## 145          6.7         3.3          5.7         2.5
## 146          6.7         3.0          5.2         2.3
## 147          6.3         2.5          5.0         1.9
## 148          6.5         3.0          5.2         2.0
## 149          6.2         3.4          5.4         2.3
## 150          5.9         3.0          5.1         1.8
colSums(iris[, -5]) # 열별 합계
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##        876.5        458.6        563.7        179.9
colMeans(iris[, -5]) # 열별 평균
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333
rowSums(iris[, -5]) # 행별 합계
##   [1] 10.2  9.5  9.4  9.4 10.2 11.4  9.7 10.1  8.9  9.6 10.8 10.0  9.3  8.5 11.2
##  [16] 12.0 11.0 10.3 11.5 10.7 10.7 10.7  9.4 10.6 10.3  9.8 10.4 10.4 10.2  9.7
##  [31]  9.7 10.7 10.9 11.3  9.7  9.6 10.5 10.0  8.9 10.2 10.1  8.4  9.1 10.7 11.2
##  [46]  9.5 10.7  9.4 10.7  9.9 16.3 15.6 16.4 13.1 15.4 14.3 15.9 11.6 15.4 13.2
##  [61] 11.5 14.6 13.2 15.1 13.4 15.6 14.6 13.6 14.4 13.1 15.7 14.2 15.2 14.8 14.9
##  [76] 15.4 15.8 16.4 14.9 12.8 12.8 12.6 13.6 15.4 14.4 15.5 16.0 14.3 14.0 13.3
##  [91] 13.7 15.1 13.6 11.6 13.8 14.1 14.1 14.7 11.7 13.9 18.1 15.5 18.1 16.6 17.5
## [106] 19.3 13.6 18.3 16.8 19.4 16.8 16.3 17.4 15.2 16.1 17.2 16.8 20.4 19.5 14.7
## [121] 18.1 15.3 19.2 15.7 17.8 18.2 15.6 15.8 16.9 17.6 18.2 20.1 17.0 15.7 15.7
## [136] 19.1 17.7 16.8 15.6 17.5 17.8 17.4 15.5 18.2 18.2 17.2 15.7 16.7 17.3 15.8
rowMeans(iris[, -5]) # 행별 평균
##   [1] 2.550 2.375 2.350 2.350 2.550 2.850 2.425 2.525 2.225 2.400 2.700 2.500
##  [13] 2.325 2.125 2.800 3.000 2.750 2.575 2.875 2.675 2.675 2.675 2.350 2.650
##  [25] 2.575 2.450 2.600 2.600 2.550 2.425 2.425 2.675 2.725 2.825 2.425 2.400
##  [37] 2.625 2.500 2.225 2.550 2.525 2.100 2.275 2.675 2.800 2.375 2.675 2.350
##  [49] 2.675 2.475 4.075 3.900 4.100 3.275 3.850 3.575 3.975 2.900 3.850 3.300
##  [61] 2.875 3.650 3.300 3.775 3.350 3.900 3.650 3.400 3.600 3.275 3.925 3.550
##  [73] 3.800 3.700 3.725 3.850 3.950 4.100 3.725 3.200 3.200 3.150 3.400 3.850
##  [85] 3.600 3.875 4.000 3.575 3.500 3.325 3.425 3.775 3.400 2.900 3.450 3.525
##  [97] 3.525 3.675 2.925 3.475 4.525 3.875 4.525 4.150 4.375 4.825 3.400 4.575
## [109] 4.200 4.850 4.200 4.075 4.350 3.800 4.025 4.300 4.200 5.100 4.875 3.675
## [121] 4.525 3.825 4.800 3.925 4.450 4.550 3.900 3.950 4.225 4.400 4.550 5.025
## [133] 4.250 3.925 3.925 4.775 4.425 4.200 3.900 4.375 4.450 4.350 3.875 4.550
## [145] 4.550 4.300 3.925 4.175 4.325 3.950
z <- matrix(1:20, nrow = 4, ncol = 5)
z
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20
t(z) # 행과열 방향 전환
##      [,1] [,2] [,3] [,4]
## [1,]    1    2    3    4
## [2,]    5    6    7    8
## [3,]    9   10   11   12
## [4,]   13   14   15   16
## [5,]   17   18   19   20
IR.1 <- subset(iris, Species == "setosa")
IR.1
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 12          4.8         3.4          1.6         0.2  setosa
## 13          4.8         3.0          1.4         0.1  setosa
## 14          4.3         3.0          1.1         0.1  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 23          4.6         3.6          1.0         0.2  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 25          4.8         3.4          1.9         0.2  setosa
## 26          5.0         3.0          1.6         0.2  setosa
## 27          5.0         3.4          1.6         0.4  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 30          4.7         3.2          1.6         0.2  setosa
## 31          4.8         3.1          1.6         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 35          4.9         3.1          1.5         0.2  setosa
## 36          5.0         3.2          1.2         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 38          4.9         3.6          1.4         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 41          5.0         3.5          1.3         0.3  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 44          5.0         3.5          1.6         0.6  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 46          4.8         3.0          1.4         0.3  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 48          4.6         3.2          1.4         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
## 50          5.0         3.3          1.4         0.2  setosa

IR.2 <- subset(iris, Sepal.Length > 5.0 & Sepal.Width > 4.0)
IR.2
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 16          5.7         4.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
IR.2[, c(2, 4)] # 2, 4열의 값만 추출
##    Sepal.Width Petal.Width
## 16         4.4         0.4
## 33         4.1         0.1
## 34         4.2         0.2

IR.3 <- subset(iris, Sepal.Length > 5.0 | Sepal.Width > 4.0)
IR.3
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1            5.1         3.5          1.4         0.2     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 150          5.9         3.0          5.1         1.8  virginica
a <- matrix(1:20, 4, 5)
b <- matrix(21:40, 4, 5)
a ; b
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    5    9   13   17
## [2,]    2    6   10   14   18
## [3,]    3    7   11   15   19
## [4,]    4    8   12   16   20
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   21   25   29   33   37
## [2,]   22   26   30   34   38
## [3,]   23   27   31   35   39
## [4,]   24   28   32   36   40

2 * a # 매트릭스 a에 저장된 값들에 2를 곱하기
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    2   10   18   26   34
## [2,]    4   12   20   28   36
## [3,]    6   14   22   30   38
## [4,]    8   16   24   32   40
b - 5
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   16   20   24   28   32
## [2,]   17   21   25   29   33
## [3,]   18   22   26   30   34
## [4,]   19   23   27   31   35
2 * a + 3 * b
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   65   85  105  125  145
## [2,]   70   90  110  130  150
## [3,]   75   95  115  135  155
## [4,]   80  100  120  140  160

a + b
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   22   30   38   46   54
## [2,]   24   32   40   48   56
## [3,]   26   34   42   50   58
## [4,]   28   36   44   52   60
b - a
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   20   20   20   20   20
## [2,]   20   20   20   20   20
## [3,]   20   20   20   20   20
## [4,]   20   20   20   20   20
b / a
##           [,1]     [,2]     [,3]     [,4]     [,5]
## [1,] 21.000000 5.000000 3.222222 2.538462 2.176471
## [2,] 11.000000 4.333333 3.000000 2.428571 2.111111
## [3,]  7.666667 3.857143 2.818182 2.333333 2.052632
## [4,]  6.000000 3.500000 2.666667 2.250000 2.000000
a * b
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   21  125  261  429  629
## [2,]   44  156  300  476  684
## [3,]   69  189  341  525  741
## [4,]   96  224  384  576  800

a <- a * 3
a
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    3   15   27   39   51
## [2,]    6   18   30   42   54
## [3,]    9   21   33   45   57
## [4,]   12   24   36   48   60
b <- b - 5
b
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   16   20   24   28   32
## [2,]   17   21   25   29   33
## [3,]   18   22   26   30   34
## [4,]   19   23   27   31   35
class(iris) # iris 데이터셋의 자료구조 확인
## [1] "data.frame"
class(state.x77) # state.x77 데이터셋의 자료구조 확인
## [1] "matrix" "array"
is.matrix(iris) # 데이터셋이 매트릭스인지를 확인하는 함수
## [1] FALSE
is.data.frame(iris) # 데이터셋이 데이터프레임인지를 확인하는 함수
## [1] TRUE
is.matrix(state.x77)
## [1] TRUE
is.data.frame(state.x77)
## [1] FALSE
# 매트릭스를 데이터프레임으로 변환
st <- data.frame(state.x77)
head(st)
##            Population Income Illiteracy Life.Exp Murder HS.Grad Frost   Area
## Alabama          3615   3624        2.1    69.05   15.1    41.3    20  50708
## Alaska            365   6315        1.5    69.31   11.3    66.7   152 566432
## Arizona          2212   4530        1.8    70.55    7.8    58.1    15 113417
## Arkansas         2110   3378        1.9    70.66   10.1    39.9    65  51945
## California      21198   5114        1.1    71.71   10.3    62.6    20 156361
## Colorado         2541   4884        0.7    72.06    6.8    63.9   166 103766
class(st)
## [1] "data.frame"
iris[, "Species"] # 결과=벡터. 매트릭스와 데이터프레임 모두 가능
##   [1] setosa     setosa     setosa     setosa     setosa     setosa    
##   [7] setosa     setosa     setosa     setosa     setosa     setosa    
##  [13] setosa     setosa     setosa     setosa     setosa     setosa    
##  [19] setosa     setosa     setosa     setosa     setosa     setosa    
##  [25] setosa     setosa     setosa     setosa     setosa     setosa    
##  [31] setosa     setosa     setosa     setosa     setosa     setosa    
##  [37] setosa     setosa     setosa     setosa     setosa     setosa    
##  [43] setosa     setosa     setosa     setosa     setosa     setosa    
##  [49] setosa     setosa     versicolor versicolor versicolor versicolor
##  [55] versicolor versicolor versicolor versicolor versicolor versicolor
##  [61] versicolor versicolor versicolor versicolor versicolor versicolor
##  [67] versicolor versicolor versicolor versicolor versicolor versicolor
##  [73] versicolor versicolor versicolor versicolor versicolor versicolor
##  [79] versicolor versicolor versicolor versicolor versicolor versicolor
##  [85] versicolor versicolor versicolor versicolor versicolor versicolor
##  [91] versicolor versicolor versicolor versicolor versicolor versicolor
##  [97] versicolor versicolor versicolor versicolor virginica  virginica 
## [103] virginica  virginica  virginica  virginica  virginica  virginica 
## [109] virginica  virginica  virginica  virginica  virginica  virginica 
## [115] virginica  virginica  virginica  virginica  virginica  virginica 
## [121] virginica  virginica  virginica  virginica  virginica  virginica 
## [127] virginica  virginica  virginica  virginica  virginica  virginica 
## [133] virginica  virginica  virginica  virginica  virginica  virginica 
## [139] virginica  virginica  virginica  virginica  virginica  virginica 
## [145] virginica  virginica  virginica  virginica  virginica  virginica 
## Levels: setosa versicolor virginica
iris[, 5] # 결과=벡터. 매트릭스와 데이터프레임 모두 가능
##   [1] setosa     setosa     setosa     setosa     setosa     setosa    
##   [7] setosa     setosa     setosa     setosa     setosa     setosa    
##  [13] setosa     setosa     setosa     setosa     setosa     setosa    
##  [19] setosa     setosa     setosa     setosa     setosa     setosa    
##  [25] setosa     setosa     setosa     setosa     setosa     setosa    
##  [31] setosa     setosa     setosa     setosa     setosa     setosa    
##  [37] setosa     setosa     setosa     setosa     setosa     setosa    
##  [43] setosa     setosa     setosa     setosa     setosa     setosa    
##  [49] setosa     setosa     versicolor versicolor versicolor versicolor
##  [55] versicolor versicolor versicolor versicolor versicolor versicolor
##  [61] versicolor versicolor versicolor versicolor versicolor versicolor
##  [67] versicolor versicolor versicolor versicolor versicolor versicolor
##  [73] versicolor versicolor versicolor versicolor versicolor versicolor
##  [79] versicolor versicolor versicolor versicolor versicolor versicolor
##  [85] versicolor versicolor versicolor versicolor versicolor versicolor
##  [91] versicolor versicolor versicolor versicolor versicolor versicolor
##  [97] versicolor versicolor versicolor versicolor virginica  virginica 
## [103] virginica  virginica  virginica  virginica  virginica  virginica 
## [109] virginica  virginica  virginica  virginica  virginica  virginica 
## [115] virginica  virginica  virginica  virginica  virginica  virginica 
## [121] virginica  virginica  virginica  virginica  virginica  virginica 
## [127] virginica  virginica  virginica  virginica  virginica  virginica 
## [133] virginica  virginica  virginica  virginica  virginica  virginica 
## [139] virginica  virginica  virginica  virginica  virginica  virginica 
## [145] virginica  virginica  virginica  virginica  virginica  virginica 
## Levels: setosa versicolor virginica
iris["Species"] # 결과=데이터프레임. 데이터프레임만 가능
##        Species
## 1       setosa
## 2       setosa
## 3       setosa
## 4       setosa
## 5       setosa
## 6       setosa
## 7       setosa
## 8       setosa
## 9       setosa
## 10      setosa
## 11      setosa
## 12      setosa
## 13      setosa
## 14      setosa
## 15      setosa
## 16      setosa
## 17      setosa
## 18      setosa
## 19      setosa
## 20      setosa
## 21      setosa
## 22      setosa
## 23      setosa
## 24      setosa
## 25      setosa
## 26      setosa
## 27      setosa
## 28      setosa
## 29      setosa
## 30      setosa
## 31      setosa
## 32      setosa
## 33      setosa
## 34      setosa
## 35      setosa
## 36      setosa
## 37      setosa
## 38      setosa
## 39      setosa
## 40      setosa
## 41      setosa
## 42      setosa
## 43      setosa
## 44      setosa
## 45      setosa
## 46      setosa
## 47      setosa
## 48      setosa
## 49      setosa
## 50      setosa
## 51  versicolor
## 52  versicolor
## 53  versicolor
## 54  versicolor
## 55  versicolor
## 56  versicolor
## 57  versicolor
## 58  versicolor
## 59  versicolor
## 60  versicolor
## 61  versicolor
## 62  versicolor
## 63  versicolor
## 64  versicolor
## 65  versicolor
## 66  versicolor
## 67  versicolor
## 68  versicolor
## 69  versicolor
## 70  versicolor
## 71  versicolor
## 72  versicolor
## 73  versicolor
## 74  versicolor
## 75  versicolor
## 76  versicolor
## 77  versicolor
## 78  versicolor
## 79  versicolor
## 80  versicolor
## 81  versicolor
## 82  versicolor
## 83  versicolor
## 84  versicolor
## 85  versicolor
## 86  versicolor
## 87  versicolor
## 88  versicolor
## 89  versicolor
## 90  versicolor
## 91  versicolor
## 92  versicolor
## 93  versicolor
## 94  versicolor
## 95  versicolor
## 96  versicolor
## 97  versicolor
## 98  versicolor
## 99  versicolor
## 100 versicolor
## 101  virginica
## 102  virginica
## 103  virginica
## 104  virginica
## 105  virginica
## 106  virginica
## 107  virginica
## 108  virginica
## 109  virginica
## 110  virginica
## 111  virginica
## 112  virginica
## 113  virginica
## 114  virginica
## 115  virginica
## 116  virginica
## 117  virginica
## 118  virginica
## 119  virginica
## 120  virginica
## 121  virginica
## 122  virginica
## 123  virginica
## 124  virginica
## 125  virginica
## 126  virginica
## 127  virginica
## 128  virginica
## 129  virginica
## 130  virginica
## 131  virginica
## 132  virginica
## 133  virginica
## 134  virginica
## 135  virginica
## 136  virginica
## 137  virginica
## 138  virginica
## 139  virginica
## 140  virginica
## 141  virginica
## 142  virginica
## 143  virginica
## 144  virginica
## 145  virginica
## 146  virginica
## 147  virginica
## 148  virginica
## 149  virginica
## 150  virginica
iris[5] # 결과=데이터프레임. 데이터프레임만 가능
##        Species
## 1       setosa
## 2       setosa
## 3       setosa
## 4       setosa
## 5       setosa
## 6       setosa
## 7       setosa
## 8       setosa
## 9       setosa
## 10      setosa
## 11      setosa
## 12      setosa
## 13      setosa
## 14      setosa
## 15      setosa
## 16      setosa
## 17      setosa
## 18      setosa
## 19      setosa
## 20      setosa
## 21      setosa
## 22      setosa
## 23      setosa
## 24      setosa
## 25      setosa
## 26      setosa
## 27      setosa
## 28      setosa
## 29      setosa
## 30      setosa
## 31      setosa
## 32      setosa
## 33      setosa
## 34      setosa
## 35      setosa
## 36      setosa
## 37      setosa
## 38      setosa
## 39      setosa
## 40      setosa
## 41      setosa
## 42      setosa
## 43      setosa
## 44      setosa
## 45      setosa
## 46      setosa
## 47      setosa
## 48      setosa
## 49      setosa
## 50      setosa
## 51  versicolor
## 52  versicolor
## 53  versicolor
## 54  versicolor
## 55  versicolor
## 56  versicolor
## 57  versicolor
## 58  versicolor
## 59  versicolor
## 60  versicolor
## 61  versicolor
## 62  versicolor
## 63  versicolor
## 64  versicolor
## 65  versicolor
## 66  versicolor
## 67  versicolor
## 68  versicolor
## 69  versicolor
## 70  versicolor
## 71  versicolor
## 72  versicolor
## 73  versicolor
## 74  versicolor
## 75  versicolor
## 76  versicolor
## 77  versicolor
## 78  versicolor
## 79  versicolor
## 80  versicolor
## 81  versicolor
## 82  versicolor
## 83  versicolor
## 84  versicolor
## 85  versicolor
## 86  versicolor
## 87  versicolor
## 88  versicolor
## 89  versicolor
## 90  versicolor
## 91  versicolor
## 92  versicolor
## 93  versicolor
## 94  versicolor
## 95  versicolor
## 96  versicolor
## 97  versicolor
## 98  versicolor
## 99  versicolor
## 100 versicolor
## 101  virginica
## 102  virginica
## 103  virginica
## 104  virginica
## 105  virginica
## 106  virginica
## 107  virginica
## 108  virginica
## 109  virginica
## 110  virginica
## 111  virginica
## 112  virginica
## 113  virginica
## 114  virginica
## 115  virginica
## 116  virginica
## 117  virginica
## 118  virginica
## 119  virginica
## 120  virginica
## 121  virginica
## 122  virginica
## 123  virginica
## 124  virginica
## 125  virginica
## 126  virginica
## 127  virginica
## 128  virginica
## 129  virginica
## 130  virginica
## 131  virginica
## 132  virginica
## 133  virginica
## 134  virginica
## 135  virginica
## 136  virginica
## 137  virginica
## 138  virginica
## 139  virginica
## 140  virginica
## 141  virginica
## 142  virginica
## 143  virginica
## 144  virginica
## 145  virginica
## 146  virginica
## 147  virginica
## 148  virginica
## 149  virginica
## 150  virginica
iris$Species # 결과=벡터. 데이터프레임만 가능
##   [1] setosa     setosa     setosa     setosa     setosa     setosa    
##   [7] setosa     setosa     setosa     setosa     setosa     setosa    
##  [13] setosa     setosa     setosa     setosa     setosa     setosa    
##  [19] setosa     setosa     setosa     setosa     setosa     setosa    
##  [25] setosa     setosa     setosa     setosa     setosa     setosa    
##  [31] setosa     setosa     setosa     setosa     setosa     setosa    
##  [37] setosa     setosa     setosa     setosa     setosa     setosa    
##  [43] setosa     setosa     setosa     setosa     setosa     setosa    
##  [49] setosa     setosa     versicolor versicolor versicolor versicolor
##  [55] versicolor versicolor versicolor versicolor versicolor versicolor
##  [61] versicolor versicolor versicolor versicolor versicolor versicolor
##  [67] versicolor versicolor versicolor versicolor versicolor versicolor
##  [73] versicolor versicolor versicolor versicolor versicolor versicolor
##  [79] versicolor versicolor versicolor versicolor versicolor versicolor
##  [85] versicolor versicolor versicolor versicolor versicolor versicolor
##  [91] versicolor versicolor versicolor versicolor versicolor versicolor
##  [97] versicolor versicolor versicolor versicolor virginica  virginica 
## [103] virginica  virginica  virginica  virginica  virginica  virginica 
## [109] virginica  virginica  virginica  virginica  virginica  virginica 
## [115] virginica  virginica  virginica  virginica  virginica  virginica 
## [121] virginica  virginica  virginica  virginica  virginica  virginica 
## [127] virginica  virginica  virginica  virginica  virginica  virginica 
## [133] virginica  virginica  virginica  virginica  virginica  virginica 
## [139] virginica  virginica  virginica  virginica  virginica  virginica 
## [145] virginica  virginica  virginica  virginica  virginica  virginica 
## Levels: setosa versicolor virginica
getwd()
## [1] "C:/Users/Hyunsoo Kim/Desktop/senior_grade/blog/my-quarto-website"
# setwd("G:/내 드라이브/202202/R_Basic/data") # 작업 폴더 지정
air <- read.csv("./R_Basic/data/airquality.csv", header = T) # .csv 파일 읽기
head(air)
##                                    version.https...git.lfs.github.com.spec.v1
## 1 oid sha256:6fdc84af524856a54abe063336bfea6511e9fb5dfcd2ec6e1dfa9e1e4d8c7357
## 2                                                                   size 3044
my.iris <- subset(iris, Species = 'Setosa') # Setosa 품종 데이터만 추출
## Warning: In subset.data.frame(iris, Species = "Setosa") :
##  extra argument 'Species' will be disregarded
write.csv(my.iris, "./R_Basic/data/my_iris_1.csv") # .csv 파일에 저장하기

4장. 조건문, 반복문, 함수

job.type <- 'A'
if (job.type == 'B') {
    bonus <- 200 # 직무 유형이 B일 때 실행
} else {
    bonus <- 100 # 직무 유형이 B가 아닌 나머지 경우 실행
}
print(bonus)
## [1] 100
job.type <- 'B'
bonus <- 100
if (job.type == 'A') {
    bonus <- 200 # 직무 유형이 A일 때 실행
}
print(bonus)
## [1] 100
score <- 85

if (score > 90) {
    grade <- 'A'
} else if (score > 80) {
    grade <- 'B'
} else if (score > 70) {
    grade <- 'C'
} else if (score > 60) {
    grade <- 'D'
} else {
    grade <- 'F'
}

print(grade)
## [1] "B"
a <- 10
b <- 20
if (a > 5 & b > 5) {    # and 사용
    print(a + b)
}
## [1] 30

if (a > 5 | b > 30) {   # or 사용
    print(a * b)
}
## [1] 200

if (a > 5 & b > 30) {
    print(a * b)
}

if (a > 20 | b > 30) {
    print(a * b)
}

if (a > 20 & b > 15) {
    print(a * b)
}

r_basic <- 70
python_basic <- 82

if (r_basic > 80 & python_basic > 80) {
    grade <- "Excellent"
} else {
    grade <- "Good"
}
grade
## [1] "Good"
a <- 10
b <- 20

if (a > b) {
    c <- a
} else {
    c <- b
}
print(c)
## [1] 20

a <- 10
b <- 20

c <- ifelse(a > b, a, b)
print(c)
## [1] 20
for(i in 1:5) {
    print('*')
}
## [1] "*"
## [1] "*"
## [1] "*"
## [1] "*"
## [1] "*"

for (i in 1:5) {
    print(i)
}
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5

for (i in 1:5) {
    a <- i * 2
    print(a)
}
## [1] 2
## [1] 4
## [1] 6
## [1] 8
## [1] 10

# for (i in 1:10000) {
#     a <- i * 2
#     print(a)
# }

# for (i in 1:10000) {
#     a <- i * 2 / 1521 + 10000
#     print(a)
# }
for (i in 6:10) {
    print(i)
}
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
for(i in 1:9) {
    cat('2 *', i, '=', 2 * i, '\n')
}
## 2 * 1 = 2 
## 2 * 2 = 4 
## 2 * 3 = 6 
## 2 * 4 = 8 
## 2 * 5 = 10 
## 2 * 6 = 12 
## 2 * 7 = 14 
## 2 * 8 = 16 
## 2 * 9 = 18

for (i in 1:9) {
    cat('2 *', i, '=', 2 * i)
}
## 2 * 1 = 22 * 2 = 42 * 3 = 62 * 4 = 82 * 5 = 102 * 6 = 122 * 7 = 142 * 8 = 162 * 9 = 18

for (i in 1:9) {
    j <- i:10
    print(j)
}
##  [1]  1  2  3  4  5  6  7  8  9 10
## [1]  2  3  4  5  6  7  8  9 10
## [1]  3  4  5  6  7  8  9 10
## [1]  4  5  6  7  8  9 10
## [1]  5  6  7  8  9 10
## [1]  6  7  8  9 10
## [1]  7  8  9 10
## [1]  8  9 10
## [1]  9 10
for(i in 1:20) {
    if (i %% 2 == 0) {  # 짝수인지 확인
        print(i)
    }
}
## [1] 2
## [1] 4
## [1] 6
## [1] 8
## [1] 10
## [1] 12
## [1] 14
## [1] 16
## [1] 18
## [1] 20
sum <- 0
for (i in 1:100) {
    sum <- sum + i  # sum에 i 값을 누적
}
print(sum)
## [1] 5050

sum <- 0
for (i in 1:100) {
    sum <- sum + i
    print(c(sum, i))
}
## [1] 1 1
## [1] 3 2
## [1] 6 3
## [1] 10  4
## [1] 15  5
## [1] 21  6
## [1] 28  7
## [1] 36  8
## [1] 45  9
## [1] 55 10
## [1] 66 11
## [1] 78 12
## [1] 91 13
## [1] 105  14
## [1] 120  15
## [1] 136  16
## [1] 153  17
## [1] 171  18
## [1] 190  19
## [1] 210  20
## [1] 231  21
## [1] 253  22
## [1] 276  23
## [1] 300  24
## [1] 325  25
## [1] 351  26
## [1] 378  27
## [1] 406  28
## [1] 435  29
## [1] 465  30
## [1] 496  31
## [1] 528  32
## [1] 561  33
## [1] 595  34
## [1] 630  35
## [1] 666  36
## [1] 703  37
## [1] 741  38
## [1] 780  39
## [1] 820  40
## [1] 861  41
## [1] 903  42
## [1] 946  43
## [1] 990  44
## [1] 1035   45
## [1] 1081   46
## [1] 1128   47
## [1] 1176   48
## [1] 1225   49
## [1] 1275   50
## [1] 1326   51
## [1] 1378   52
## [1] 1431   53
## [1] 1485   54
## [1] 1540   55
## [1] 1596   56
## [1] 1653   57
## [1] 1711   58
## [1] 1770   59
## [1] 1830   60
## [1] 1891   61
## [1] 1953   62
## [1] 2016   63
## [1] 2080   64
## [1] 2145   65
## [1] 2211   66
## [1] 2278   67
## [1] 2346   68
## [1] 2415   69
## [1] 2485   70
## [1] 2556   71
## [1] 2628   72
## [1] 2701   73
## [1] 2775   74
## [1] 2850   75
## [1] 2926   76
## [1] 3003   77
## [1] 3081   78
## [1] 3160   79
## [1] 3240   80
## [1] 3321   81
## [1] 3403   82
## [1] 3486   83
## [1] 3570   84
## [1] 3655   85
## [1] 3741   86
## [1] 3828   87
## [1] 3916   88
## [1] 4005   89
## [1] 4095   90
## [1] 4186   91
## [1] 4278   92
## [1] 4371   93
## [1] 4465   94
## [1] 4560   95
## [1] 4656   96
## [1] 4753   97
## [1] 4851   98
## [1] 4950   99
## [1] 5050  100
print(sum)
## [1] 5050

sum <- 0
for (i in 1:100) {
    print(c(sum, i))
    sum <- sum + i
}
## [1] 0 1
## [1] 1 2
## [1] 3 3
## [1] 6 4
## [1] 10  5
## [1] 15  6
## [1] 21  7
## [1] 28  8
## [1] 36  9
## [1] 45 10
## [1] 55 11
## [1] 66 12
## [1] 78 13
## [1] 91 14
## [1] 105  15
## [1] 120  16
## [1] 136  17
## [1] 153  18
## [1] 171  19
## [1] 190  20
## [1] 210  21
## [1] 231  22
## [1] 253  23
## [1] 276  24
## [1] 300  25
## [1] 325  26
## [1] 351  27
## [1] 378  28
## [1] 406  29
## [1] 435  30
## [1] 465  31
## [1] 496  32
## [1] 528  33
## [1] 561  34
## [1] 595  35
## [1] 630  36
## [1] 666  37
## [1] 703  38
## [1] 741  39
## [1] 780  40
## [1] 820  41
## [1] 861  42
## [1] 903  43
## [1] 946  44
## [1] 990  45
## [1] 1035   46
## [1] 1081   47
## [1] 1128   48
## [1] 1176   49
## [1] 1225   50
## [1] 1275   51
## [1] 1326   52
## [1] 1378   53
## [1] 1431   54
## [1] 1485   55
## [1] 1540   56
## [1] 1596   57
## [1] 1653   58
## [1] 1711   59
## [1] 1770   60
## [1] 1830   61
## [1] 1891   62
## [1] 1953   63
## [1] 2016   64
## [1] 2080   65
## [1] 2145   66
## [1] 2211   67
## [1] 2278   68
## [1] 2346   69
## [1] 2415   70
## [1] 2485   71
## [1] 2556   72
## [1] 2628   73
## [1] 2701   74
## [1] 2775   75
## [1] 2850   76
## [1] 2926   77
## [1] 3003   78
## [1] 3081   79
## [1] 3160   80
## [1] 3240   81
## [1] 3321   82
## [1] 3403   83
## [1] 3486   84
## [1] 3570   85
## [1] 3655   86
## [1] 3741   87
## [1] 3828   88
## [1] 3916   89
## [1] 4005   90
## [1] 4095   91
## [1] 4186   92
## [1] 4278   93
## [1] 4371   94
## [1] 4465   95
## [1] 4560   96
## [1] 4656   97
## [1] 4753   98
## [1] 4851   99
## [1] 4950  100
print(sum)
## [1] 5050
norow <- nrow(iris)                             # iris의 행의 수
mylabel <- c()                                  # 비어 있는 벡터 선언
for (i in 1:norow) {
    if (iris$Petal.Length[i] <= 1.6) {          # 꽃잎의 길이에 따라 레이블 결정
        mylabel[i] <- 'L'
    } else if (iris$Petal.Length[i] >= 5.1) {
        mylabel[i] <- 'H'
    } else {
        mylabel[i] <- 'M'
    }
    print(c(iris$Petal.Length[i], mylabel))
}
## [1] "1.4" "L"  
## [1] "1.4" "L"   "L"  
## [1] "1.3" "L"   "L"   "L"  
## [1] "1.5" "L"   "L"   "L"   "L"  
## [1] "1.4" "L"   "L"   "L"   "L"   "L"  
## [1] "1.7" "L"   "L"   "L"   "L"   "L"   "M"  
## [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"  
## [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"  
##  [1] "1.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"  
##  [1] "1.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"  
##  [1] "1.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"  
##  [1] "1.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"  
##  [1] "1" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L"
##  [1] "1.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"  
##  [1] "1.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"  
##  [1] "1.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"  
##  [1] "1.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"  
##  [1] "1.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [1] "1.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"  
##  [1] "1.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"  
##  [1] "1.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"  
##  [1] "1.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"  
##  [1] "4.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"  
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"  
##  [1] "4.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"  
##  [1] "4" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [39] "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M"
##  [1] "4.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"  
##  [1] "3.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"  
##  [1] "4.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"  
##  [1] "4" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [39] "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M" "M" "M"
## [58] "M" "M" "M" "M" "M" "M" "M"
##  [1] "4.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"  
##  [1] "3.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [39] "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M" "M" "M"
## [58] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [1] "4.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"  
##  [1] "4.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"  
##  [1] "4.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"  
##  [1] "4.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"  
##  [1] "4.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "5" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [39] "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M" "M" "M"
## [58] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
## [77] "M" "M" "M"
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "3.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"  
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"  
##  [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"  
##  [1] "4.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"  
##  [1] "4.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"  
##  [1] "4.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [39] "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M" "M" "M"
## [58] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
## [77] "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M" "M"
##  [1] "4.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [20] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
## [39] "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M" "M" "M"
## [58] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
## [77] "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [1] "3.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [1] "4.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [97] "M"  
##  [1] "4.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [97] "M"   "M"  
##  [1] "4.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
## [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
## [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
## [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
## [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
## [97] "M"   "M"   "M"  
##   [1] "3" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "L" "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##   [1] "4.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"  
##   [1] "6" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "L" "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H"
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"  
##   [1] "5.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"  
##   [1] "5.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"  
##   [1] "5.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"  
##   [1] "6.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"  
##   [1] "4.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
##   [1] "6.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"  
##   [1] "5.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"  
##   [1] "6.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"  
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"  
##   [1] "5.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"  
##   [1] "5.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"  
##   [1] "5" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "L" "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "H" "H" "H" "H" "H" "M"
## [109] "H" "H" "H" "H" "H" "H" "M"
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"  
##   [1] "5.3" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"  
##   [1] "5.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"  
##   [1] "6.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
##   [1] "6.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
##   [1] "5" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "L" "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "H" "H" "H" "H" "H" "M"
## [109] "H" "H" "H" "H" "H" "H" "M" "H" "H" "H" "H" "H" "M"
##   [1] "5.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"  
##   [1] "4.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"  
##   [1] "6.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"  
##   [1] "4.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"  
##   [1] "5.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"  
##   [1] "6" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "L" "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "H" "H" "H" "H" "H" "M"
## [109] "H" "H" "H" "H" "H" "H" "M" "H" "H" "H" "H" "H" "M" "H" "M" "H" "M" "H"
## [127] "H"
##   [1] "4.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"  
##   [1] "4.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"  
##   [1] "5.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"  
##   [1] "5.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"  
##   [1] "6.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
##   [1] "6.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"  
##   [1] "5.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"  
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"  
##   [1] "5.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"  
##   [1] "6.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"  
##   [1] "5.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"  
##   [1] "5.5" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"  
##   [1] "4.8" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
##   [1] "5.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"  
##   [1] "5.6" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"  
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"  
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
##   [1] "5.9" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
## [145] "H"  
##   [1] "5.7" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
## [145] "H"   "H"  
##   [1] "5.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
## [145] "H"   "H"   "H"  
##   [1] "5" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "L" "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "H" "H" "H" "H" "H" "M"
## [109] "H" "H" "H" "H" "H" "H" "M" "H" "H" "H" "H" "H" "M" "H" "M" "H" "M" "H"
## [127] "H" "M" "M" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "M" "H" "H" "H" "H"
## [145] "H" "H" "H" "M"
##   [1] "5.2" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
## [145] "H"   "H"   "H"   "M"   "H"  
##   [1] "5.4" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
## [145] "H"   "H"   "H"   "M"   "H"   "H"  
##   [1] "5.1" "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"   "L"   "L"   "L"  
##  [13] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "M"   "L"   "L"  
##  [25] "M"   "M"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"  
##  [37] "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "L"   "M"   "L"   "L"  
##  [49] "L"   "L"   "L"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [61] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [73] "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [85] "H"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"   "M"  
##  [97] "M"   "M"   "M"   "M"   "M"   "H"   "H"   "H"   "H"   "H"   "H"   "M"  
## [109] "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"   "H"  
## [121] "M"   "H"   "M"   "H"   "M"   "H"   "H"   "M"   "M"   "H"   "H"   "H"  
## [133] "H"   "H"   "H"   "H"   "H"   "H"   "H"   "M"   "H"   "H"   "H"   "H"  
## [145] "H"   "H"   "H"   "M"   "H"   "H"   "H"
print(mylabel)                                  # 레이블 출력
##   [1] "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [19] "M" "L" "M" "L" "L" "M" "M" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L" "L"
##  [37] "L" "L" "L" "L" "L" "L" "L" "L" "M" "L" "L" "L" "L" "L" "M" "M" "M" "M"
##  [55] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M"
##  [73] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "M" "M" "M" "M" "M" "M"
##  [91] "M" "M" "M" "M" "M" "M" "M" "M" "M" "M" "H" "H" "H" "H" "H" "H" "M" "H"
## [109] "H" "H" "H" "H" "H" "M" "H" "H" "H" "H" "H" "M" "H" "M" "H" "M" "H" "H"
## [127] "M" "M" "H" "H" "H" "H" "H" "H" "H" "H" "H" "H" "M" "H" "H" "H" "H" "H"
## [145] "H" "H" "M" "H" "H" "H"
newds <- data.frame(iris$Petal.Length, mylabel) # 꽃잎의 길이와 레이블 결합
head(newds)                                     # 새로운 데이터셋 내용 출력
##   iris.Petal.Length mylabel
## 1               1.4       L
## 2               1.4       L
## 3               1.3       L
## 4               1.5       L
## 5               1.4       L
## 6               1.7       M
sum <- 0
i <- 1
while (i <= 100) {
    sum <- sum + i      # sum에 i 값을 누적
    i <- i + 1          # i 값을 1 증가시킴
    print(c(sum, i))
}
## [1] 1 2
## [1] 3 3
## [1] 6 4
## [1] 10  5
## [1] 15  6
## [1] 21  7
## [1] 28  8
## [1] 36  9
## [1] 45 10
## [1] 55 11
## [1] 66 12
## [1] 78 13
## [1] 91 14
## [1] 105  15
## [1] 120  16
## [1] 136  17
## [1] 153  18
## [1] 171  19
## [1] 190  20
## [1] 210  21
## [1] 231  22
## [1] 253  23
## [1] 276  24
## [1] 300  25
## [1] 325  26
## [1] 351  27
## [1] 378  28
## [1] 406  29
## [1] 435  30
## [1] 465  31
## [1] 496  32
## [1] 528  33
## [1] 561  34
## [1] 595  35
## [1] 630  36
## [1] 666  37
## [1] 703  38
## [1] 741  39
## [1] 780  40
## [1] 820  41
## [1] 861  42
## [1] 903  43
## [1] 946  44
## [1] 990  45
## [1] 1035   46
## [1] 1081   47
## [1] 1128   48
## [1] 1176   49
## [1] 1225   50
## [1] 1275   51
## [1] 1326   52
## [1] 1378   53
## [1] 1431   54
## [1] 1485   55
## [1] 1540   56
## [1] 1596   57
## [1] 1653   58
## [1] 1711   59
## [1] 1770   60
## [1] 1830   61
## [1] 1891   62
## [1] 1953   63
## [1] 2016   64
## [1] 2080   65
## [1] 2145   66
## [1] 2211   67
## [1] 2278   68
## [1] 2346   69
## [1] 2415   70
## [1] 2485   71
## [1] 2556   72
## [1] 2628   73
## [1] 2701   74
## [1] 2775   75
## [1] 2850   76
## [1] 2926   77
## [1] 3003   78
## [1] 3081   79
## [1] 3160   80
## [1] 3240   81
## [1] 3321   82
## [1] 3403   83
## [1] 3486   84
## [1] 3570   85
## [1] 3655   86
## [1] 3741   87
## [1] 3828   88
## [1] 3916   89
## [1] 4005   90
## [1] 4095   91
## [1] 4186   92
## [1] 4278   93
## [1] 4371   94
## [1] 4465   95
## [1] 4560   96
## [1] 4656   97
## [1] 4753   98
## [1] 4851   99
## [1] 4950  100
## [1] 5050  101
print(sum)
## [1] 5050

#---------------------------------------#
# 오류 없이 계속 실행됨
# sum <- 0
# i <- 1
# while(i >= 1) {
#   sum <- sum + i # sum에 i 값을 누적
#   i <- i + 1 # i 값을 1 증가시킴
#   print(c(sum,i))
# }
# print(sum)
#---------------------------------------#
sum <- 0
for (i in 1:10) {
    sum <- sum + i
    print(c(sum, i))
    if (i >= 5)
        break
}
## [1] 1 1
## [1] 3 2
## [1] 6 3
## [1] 10  4
## [1] 15  5
sum
## [1] 15
sum <- 0
for (i in 1:10) {
    if (i %% 2 == 0)
        next # %% = 나머지
    sum <- sum + i
    print(c(sum, i))
}
## [1] 1 1
## [1] 4 3
## [1] 9 5
## [1] 16  7
## [1] 25  9
sum
## [1] 25
apply(iris[, 1:4], 1, mean) # row 방향으로 함수 적용
##   [1] 2.550 2.375 2.350 2.350 2.550 2.850 2.425 2.525 2.225 2.400 2.700 2.500
##  [13] 2.325 2.125 2.800 3.000 2.750 2.575 2.875 2.675 2.675 2.675 2.350 2.650
##  [25] 2.575 2.450 2.600 2.600 2.550 2.425 2.425 2.675 2.725 2.825 2.425 2.400
##  [37] 2.625 2.500 2.225 2.550 2.525 2.100 2.275 2.675 2.800 2.375 2.675 2.350
##  [49] 2.675 2.475 4.075 3.900 4.100 3.275 3.850 3.575 3.975 2.900 3.850 3.300
##  [61] 2.875 3.650 3.300 3.775 3.350 3.900 3.650 3.400 3.600 3.275 3.925 3.550
##  [73] 3.800 3.700 3.725 3.850 3.950 4.100 3.725 3.200 3.200 3.150 3.400 3.850
##  [85] 3.600 3.875 4.000 3.575 3.500 3.325 3.425 3.775 3.400 2.900 3.450 3.525
##  [97] 3.525 3.675 2.925 3.475 4.525 3.875 4.525 4.150 4.375 4.825 3.400 4.575
## [109] 4.200 4.850 4.200 4.075 4.350 3.800 4.025 4.300 4.200 5.100 4.875 3.675
## [121] 4.525 3.825 4.800 3.925 4.450 4.550 3.900 3.950 4.225 4.400 4.550 5.025
## [133] 4.250 3.925 3.925 4.775 4.425 4.200 3.900 4.375 4.450 4.350 3.875 4.550
## [145] 4.550 4.300 3.925 4.175 4.325 3.950
apply(iris[, 1:4], 2, mean) # col 방향으로 함수 적용
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
##     5.843333     3.057333     3.758000     1.199333

result <- c()
for (i in 1:4) {
    iris_col <- iris[, i]
    iris_col_mean_temp <- mean(iris_col)
    result <- c(result, iris_col_mean_temp)
}
result
## [1] 5.843333 3.057333 3.758000 1.199333
mymax <- function(x, y) {
    num.max <- x
    if (y > x) {
        num.max <- y
    }
    return(num.max)
}
mymax(10, 15)
## [1] 15
a <- mymax(20, 15)
b <- mymax(31, 45)
print(a + b)
## [1] 65
mydiv <- function(x, y = 2) {
    result <- x / y
    return(result)
}

mydiv(x = 10, y = 3) # 매개변수 이름과 매개변수값을 쌍으로 입력
## [1] 3.333333
mydiv(10, 3) # 매개변수값만 입력
## [1] 3.333333
mydiv(10) # x에 대한 값만 입력(y 값이 생략됨)
## [1] 5
myfunc <- function(x, y) {
    val.sum <- x + y
    val.mul <- x * y
    return(list(sum = val.sum, mul = val.mul))
}

result <- myfunc(5, 8)
result
## $sum
## [1] 13
## 
## $mul
## [1] 40
s <- result$sum # 5, 8의 합
m <- result$mul # 5, 8의 곱
cat('5+8=', s, '\n')
## 5+8= 13
cat('5*8=', m, '\n')
## 5*8= 40
getwd()
## [1] "C:/Users/Hyunsoo Kim/Desktop/senior_grade/blog/my-quarto-website"
# source("myfunc.R") # myfunc.R 안에 있는 함수 실행

a <- mydiv(20, 4) # 함수 호출
b <- mydiv(30, 4) # 함수 호출
a + b
## [1] 12.5
mydiv(mydiv(20, 2), 5) # 함수 호출
## [1] 2
score <- c(76, 84, 69, 50, 95, 60, 82, 71, 88, 84)
which(score == 69) # 성적이 69인 학생은 몇 번째에 있나
## [1] 3
which(score >= 85) # 성적이 85 이상인 학생은 몇 번째에 있나
## [1] 5 9

max(score) # 최고 점수는 몇 점인가
## [1] 95
which.max(score) # 최고 점수는 몇 번째에 있나
## [1] 5
score[which.max(score)] # 최고 점수는 몇 점인가
## [1] 95

min(score) # 최저 점수는 몇 점인가
## [1] 50
which.min(score) # 최저 점수는 몇 번째에 있나
## [1] 4
score[which.min(score)] # 최저 점수는 몇 점인가
## [1] 50
score <- c(76, 84, 69, 50, 95, 60, 82, 71, 88, 84)
idx <- which(score <= 60) # 성적이 60 이하인 값들의 인덱스
idx
## [1] 4 6
score[idx]
## [1] 50 60
score[idx] <- 61 # 성적이 60 이하인 값들은 61점으로 성적 상향 조정
score # 상향 조정된 성적 확인
##  [1] 76 84 69 61 95 61 82 71 88 84

idx <- which(score >= 80) # 성적이 80 이상인 값들의 인덱스
idx
## [1]  2  5  7  9 10
score[idx]
## [1] 84 95 82 88 84
score.high <- score[idx] # 성적이 80 이상인 값들만 추출하여 저장
score.high # score.high의 내용 확인
## [1] 84 95 82 88 84
iris
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1            5.1         3.5          1.4         0.2     setosa
## 2            4.9         3.0          1.4         0.2     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 5            5.0         3.6          1.4         0.2     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 12           4.8         3.4          1.6         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 14           4.3         3.0          1.1         0.1     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 23           4.6         3.6          1.0         0.2     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 25           4.8         3.4          1.9         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 107          4.9         2.5          4.5         1.7  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 150          5.9         3.0          5.1         1.8  virginica
iris$Petal.Length
##   [1] 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 1.5 1.6 1.4 1.1 1.2 1.5 1.3 1.4
##  [19] 1.7 1.5 1.7 1.5 1.0 1.7 1.9 1.6 1.6 1.5 1.4 1.6 1.6 1.5 1.5 1.4 1.5 1.2
##  [37] 1.3 1.4 1.3 1.5 1.3 1.3 1.3 1.6 1.9 1.4 1.6 1.4 1.5 1.4 4.7 4.5 4.9 4.0
##  [55] 4.6 4.5 4.7 3.3 4.6 3.9 3.5 4.2 4.0 4.7 3.6 4.4 4.5 4.1 4.5 3.9 4.8 4.0
##  [73] 4.9 4.7 4.3 4.4 4.8 5.0 4.5 3.5 3.8 3.7 3.9 5.1 4.5 4.5 4.7 4.4 4.1 4.0
##  [91] 4.4 4.6 4.0 3.3 4.2 4.2 4.2 4.3 3.0 4.1 6.0 5.1 5.9 5.6 5.8 6.6 4.5 6.3
## [109] 5.8 6.1 5.1 5.3 5.5 5.0 5.1 5.3 5.5 6.7 6.9 5.0 5.7 4.9 6.7 4.9 5.7 6.0
## [127] 4.8 4.9 5.6 5.8 6.1 6.4 5.6 5.1 5.6 6.1 5.6 5.5 4.8 5.4 5.6 5.1 5.1 5.9
## [145] 5.7 5.2 5.0 5.2 5.4 5.1
iris$Petal.Length > 5.0
##   [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [97] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
## [109]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE
## [121]  TRUE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE  TRUE
## [133]  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE
## [145]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE
which(iris$Petal.Length > 5.0)
##  [1]  84 101 102 103 104 105 106 108 109 110 111 112 113 115 116 117 118 119 121
## [20] 123 125 126 129 130 131 132 133 134 135 136 137 138 140 141 142 143 144 145
## [39] 146 148 149 150

iris$Petal.Length[iris$Petal.Length > 5.0]
##  [1] 5.1 6.0 5.1 5.9 5.6 5.8 6.6 6.3 5.8 6.1 5.1 5.3 5.5 5.1 5.3 5.5 6.7 6.9 5.7
## [20] 6.7 5.7 6.0 5.6 5.8 6.1 6.4 5.6 5.1 5.6 6.1 5.6 5.5 5.4 5.6 5.1 5.1 5.9 5.7
## [39] 5.2 5.2 5.4 5.1

idx <- which(iris$Petal.Length > 5.0) # 꽃잎의 길이가 5.0 이상인 값들의 인덱스
idx
##  [1]  84 101 102 103 104 105 106 108 109 110 111 112 113 115 116 117 118 119 121
## [20] 123 125 126 129 130 131 132 133 134 135 136 137 138 140 141 142 143 144 145
## [39] 146 148 149 150
iris.big <- iris[idx, ] # 인덱스에 해당하는 값만 추출하여 저장
iris.big
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 84           6.0         2.7          5.1         1.6 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 150          5.9         3.0          5.1         1.8  virginica
# 1~4열의 값 중 5보다 큰 값의 행과 열의 위치
which(iris[, 1:4] > 5.0)
##   [1]   1   6  11  15  16  17  18  19  20  21  22  24  28  29  32  33  34  37
##  [19]  40  45  47  49  51  52  53  54  55  56  57  59  60  62  63  64  65  66
##  [37]  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84
##  [55]  85  86  87  88  89  90  91  92  93  95  96  97  98  99 100 101 102 103
##  [73] 104 105 106 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
##  [91] 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
## [109] 141 142 143 144 145 146 147 148 149 150 384 401 402 403 404 405 406 408
## [127] 409 410 411 412 413 415 416 417 418 419 421 423 425 426 429 430 431 432
## [145] 433 434 435 436 437 438 440 441 442 443 444 445 446 448 449 450
which(iris[, 1:4] > 5.0, arr.ind = TRUE) # arr.ind = TRUE : 조건에 맞는 인덱스까지 반환
##        row col
##   [1,]   1   1
##   [2,]   6   1
##   [3,]  11   1
##   [4,]  15   1
##   [5,]  16   1
##   [6,]  17   1
##   [7,]  18   1
##   [8,]  19   1
##   [9,]  20   1
##  [10,]  21   1
##  [11,]  22   1
##  [12,]  24   1
##  [13,]  28   1
##  [14,]  29   1
##  [15,]  32   1
##  [16,]  33   1
##  [17,]  34   1
##  [18,]  37   1
##  [19,]  40   1
##  [20,]  45   1
##  [21,]  47   1
##  [22,]  49   1
##  [23,]  51   1
##  [24,]  52   1
##  [25,]  53   1
##  [26,]  54   1
##  [27,]  55   1
##  [28,]  56   1
##  [29,]  57   1
##  [30,]  59   1
##  [31,]  60   1
##  [32,]  62   1
##  [33,]  63   1
##  [34,]  64   1
##  [35,]  65   1
##  [36,]  66   1
##  [37,]  67   1
##  [38,]  68   1
##  [39,]  69   1
##  [40,]  70   1
##  [41,]  71   1
##  [42,]  72   1
##  [43,]  73   1
##  [44,]  74   1
##  [45,]  75   1
##  [46,]  76   1
##  [47,]  77   1
##  [48,]  78   1
##  [49,]  79   1
##  [50,]  80   1
##  [51,]  81   1
##  [52,]  82   1
##  [53,]  83   1
##  [54,]  84   1
##  [55,]  85   1
##  [56,]  86   1
##  [57,]  87   1
##  [58,]  88   1
##  [59,]  89   1
##  [60,]  90   1
##  [61,]  91   1
##  [62,]  92   1
##  [63,]  93   1
##  [64,]  95   1
##  [65,]  96   1
##  [66,]  97   1
##  [67,]  98   1
##  [68,]  99   1
##  [69,] 100   1
##  [70,] 101   1
##  [71,] 102   1
##  [72,] 103   1
##  [73,] 104   1
##  [74,] 105   1
##  [75,] 106   1
##  [76,] 108   1
##  [77,] 109   1
##  [78,] 110   1
##  [79,] 111   1
##  [80,] 112   1
##  [81,] 113   1
##  [82,] 114   1
##  [83,] 115   1
##  [84,] 116   1
##  [85,] 117   1
##  [86,] 118   1
##  [87,] 119   1
##  [88,] 120   1
##  [89,] 121   1
##  [90,] 122   1
##  [91,] 123   1
##  [92,] 124   1
##  [93,] 125   1
##  [94,] 126   1
##  [95,] 127   1
##  [96,] 128   1
##  [97,] 129   1
##  [98,] 130   1
##  [99,] 131   1
## [100,] 132   1
## [101,] 133   1
## [102,] 134   1
## [103,] 135   1
## [104,] 136   1
## [105,] 137   1
## [106,] 138   1
## [107,] 139   1
## [108,] 140   1
## [109,] 141   1
## [110,] 142   1
## [111,] 143   1
## [112,] 144   1
## [113,] 145   1
## [114,] 146   1
## [115,] 147   1
## [116,] 148   1
## [117,] 149   1
## [118,] 150   1
## [119,]  84   3
## [120,] 101   3
## [121,] 102   3
## [122,] 103   3
## [123,] 104   3
## [124,] 105   3
## [125,] 106   3
## [126,] 108   3
## [127,] 109   3
## [128,] 110   3
## [129,] 111   3
## [130,] 112   3
## [131,] 113   3
## [132,] 115   3
## [133,] 116   3
## [134,] 117   3
## [135,] 118   3
## [136,] 119   3
## [137,] 121   3
## [138,] 123   3
## [139,] 125   3
## [140,] 126   3
## [141,] 129   3
## [142,] 130   3
## [143,] 131   3
## [144,] 132   3
## [145,] 133   3
## [146,] 134   3
## [147,] 135   3
## [148,] 136   3
## [149,] 137   3
## [150,] 138   3
## [151,] 140   3
## [152,] 141   3
## [153,] 142   3
## [154,] 143   3
## [155,] 144   3
## [156,] 145   3
## [157,] 146   3
## [158,] 148   3
## [159,] 149   3
## [160,] 150   3

idx <- which(iris[, 1:4] > 5.0, arr.ind = TRUE)
iris[idx[, 1], ]
##       Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 1              5.1         3.5          1.4         0.2     setosa
## 6              5.4         3.9          1.7         0.4     setosa
## 11             5.4         3.7          1.5         0.2     setosa
## 15             5.8         4.0          1.2         0.2     setosa
## 16             5.7         4.4          1.5         0.4     setosa
## 17             5.4         3.9          1.3         0.4     setosa
## 18             5.1         3.5          1.4         0.3     setosa
## 19             5.7         3.8          1.7         0.3     setosa
## 20             5.1         3.8          1.5         0.3     setosa
## 21             5.4         3.4          1.7         0.2     setosa
## 22             5.1         3.7          1.5         0.4     setosa
## 24             5.1         3.3          1.7         0.5     setosa
## 28             5.2         3.5          1.5         0.2     setosa
## 29             5.2         3.4          1.4         0.2     setosa
## 32             5.4         3.4          1.5         0.4     setosa
## 33             5.2         4.1          1.5         0.1     setosa
## 34             5.5         4.2          1.4         0.2     setosa
## 37             5.5         3.5          1.3         0.2     setosa
## 40             5.1         3.4          1.5         0.2     setosa
## 45             5.1         3.8          1.9         0.4     setosa
## 47             5.1         3.8          1.6         0.2     setosa
## 49             5.3         3.7          1.5         0.2     setosa
## 51             7.0         3.2          4.7         1.4 versicolor
## 52             6.4         3.2          4.5         1.5 versicolor
## 53             6.9         3.1          4.9         1.5 versicolor
## 54             5.5         2.3          4.0         1.3 versicolor
## 55             6.5         2.8          4.6         1.5 versicolor
## 56             5.7         2.8          4.5         1.3 versicolor
## 57             6.3         3.3          4.7         1.6 versicolor
## 59             6.6         2.9          4.6         1.3 versicolor
## 60             5.2         2.7          3.9         1.4 versicolor
## 62             5.9         3.0          4.2         1.5 versicolor
## 63             6.0         2.2          4.0         1.0 versicolor
## 64             6.1         2.9          4.7         1.4 versicolor
## 65             5.6         2.9          3.6         1.3 versicolor
## 66             6.7         3.1          4.4         1.4 versicolor
## 67             5.6         3.0          4.5         1.5 versicolor
## 68             5.8         2.7          4.1         1.0 versicolor
## 69             6.2         2.2          4.5         1.5 versicolor
## 70             5.6         2.5          3.9         1.1 versicolor
## 71             5.9         3.2          4.8         1.8 versicolor
## 72             6.1         2.8          4.0         1.3 versicolor
## 73             6.3         2.5          4.9         1.5 versicolor
## 74             6.1         2.8          4.7         1.2 versicolor
## 75             6.4         2.9          4.3         1.3 versicolor
## 76             6.6         3.0          4.4         1.4 versicolor
## 77             6.8         2.8          4.8         1.4 versicolor
## 78             6.7         3.0          5.0         1.7 versicolor
## 79             6.0         2.9          4.5         1.5 versicolor
## 80             5.7         2.6          3.5         1.0 versicolor
## 81             5.5         2.4          3.8         1.1 versicolor
## 82             5.5         2.4          3.7         1.0 versicolor
## 83             5.8         2.7          3.9         1.2 versicolor
## 84             6.0         2.7          5.1         1.6 versicolor
## 85             5.4         3.0          4.5         1.5 versicolor
## 86             6.0         3.4          4.5         1.6 versicolor
## 87             6.7         3.1          4.7         1.5 versicolor
## 88             6.3         2.3          4.4         1.3 versicolor
## 89             5.6         3.0          4.1         1.3 versicolor
## 90             5.5         2.5          4.0         1.3 versicolor
## 91             5.5         2.6          4.4         1.2 versicolor
## 92             6.1         3.0          4.6         1.4 versicolor
## 93             5.8         2.6          4.0         1.2 versicolor
## 95             5.6         2.7          4.2         1.3 versicolor
## 96             5.7         3.0          4.2         1.2 versicolor
## 97             5.7         2.9          4.2         1.3 versicolor
## 98             6.2         2.9          4.3         1.3 versicolor
## 99             5.1         2.5          3.0         1.1 versicolor
## 100            5.7         2.8          4.1         1.3 versicolor
## 101            6.3         3.3          6.0         2.5  virginica
## 102            5.8         2.7          5.1         1.9  virginica
## 103            7.1         3.0          5.9         2.1  virginica
## 104            6.3         2.9          5.6         1.8  virginica
## 105            6.5         3.0          5.8         2.2  virginica
## 106            7.6         3.0          6.6         2.1  virginica
## 108            7.3         2.9          6.3         1.8  virginica
## 109            6.7         2.5          5.8         1.8  virginica
## 110            7.2         3.6          6.1         2.5  virginica
## 111            6.5         3.2          5.1         2.0  virginica
## 112            6.4         2.7          5.3         1.9  virginica
## 113            6.8         3.0          5.5         2.1  virginica
## 114            5.7         2.5          5.0         2.0  virginica
## 115            5.8         2.8          5.1         2.4  virginica
## 116            6.4         3.2          5.3         2.3  virginica
## 117            6.5         3.0          5.5         1.8  virginica
## 118            7.7         3.8          6.7         2.2  virginica
## 119            7.7         2.6          6.9         2.3  virginica
## 120            6.0         2.2          5.0         1.5  virginica
## 121            6.9         3.2          5.7         2.3  virginica
## 122            5.6         2.8          4.9         2.0  virginica
## 123            7.7         2.8          6.7         2.0  virginica
## 124            6.3         2.7          4.9         1.8  virginica
## 125            6.7         3.3          5.7         2.1  virginica
## 126            7.2         3.2          6.0         1.8  virginica
## 127            6.2         2.8          4.8         1.8  virginica
## 128            6.1         3.0          4.9         1.8  virginica
## 129            6.4         2.8          5.6         2.1  virginica
## 130            7.2         3.0          5.8         1.6  virginica
## 131            7.4         2.8          6.1         1.9  virginica
## 132            7.9         3.8          6.4         2.0  virginica
## 133            6.4         2.8          5.6         2.2  virginica
## 134            6.3         2.8          5.1         1.5  virginica
## 135            6.1         2.6          5.6         1.4  virginica
## 136            7.7         3.0          6.1         2.3  virginica
## 137            6.3         3.4          5.6         2.4  virginica
## 138            6.4         3.1          5.5         1.8  virginica
## 139            6.0         3.0          4.8         1.8  virginica
## 140            6.9         3.1          5.4         2.1  virginica
## 141            6.7         3.1          5.6         2.4  virginica
## 142            6.9         3.1          5.1         2.3  virginica
## 143            5.8         2.7          5.1         1.9  virginica
## 144            6.8         3.2          5.9         2.3  virginica
## 145            6.7         3.3          5.7         2.5  virginica
## 146            6.7         3.0          5.2         2.3  virginica
## 147            6.3         2.5          5.0         1.9  virginica
## 148            6.5         3.0          5.2         2.0  virginica
## 149            6.2         3.4          5.4         2.3  virginica
## 150            5.9         3.0          5.1         1.8  virginica
## 84.1           6.0         2.7          5.1         1.6 versicolor
## 101.1          6.3         3.3          6.0         2.5  virginica
## 102.1          5.8         2.7          5.1         1.9  virginica
## 103.1          7.1         3.0          5.9         2.1  virginica
## 104.1          6.3         2.9          5.6         1.8  virginica
## 105.1          6.5         3.0          5.8         2.2  virginica
## 106.1          7.6         3.0          6.6         2.1  virginica
## 108.1          7.3         2.9          6.3         1.8  virginica
## 109.1          6.7         2.5          5.8         1.8  virginica
## 110.1          7.2         3.6          6.1         2.5  virginica
## 111.1          6.5         3.2          5.1         2.0  virginica
## 112.1          6.4         2.7          5.3         1.9  virginica
## 113.1          6.8         3.0          5.5         2.1  virginica
## 115.1          5.8         2.8          5.1         2.4  virginica
## 116.1          6.4         3.2          5.3         2.3  virginica
## 117.1          6.5         3.0          5.5         1.8  virginica
## 118.1          7.7         3.8          6.7         2.2  virginica
## 119.1          7.7         2.6          6.9         2.3  virginica
## 121.1          6.9         3.2          5.7         2.3  virginica
## 123.1          7.7         2.8          6.7         2.0  virginica
## 125.1          6.7         3.3          5.7         2.1  virginica
## 126.1          7.2         3.2          6.0         1.8  virginica
## 129.1          6.4         2.8          5.6         2.1  virginica
## 130.1          7.2         3.0          5.8         1.6  virginica
## 131.1          7.4         2.8          6.1         1.9  virginica
## 132.1          7.9         3.8          6.4         2.0  virginica
## 133.1          6.4         2.8          5.6         2.2  virginica
## 134.1          6.3         2.8          5.1         1.5  virginica
## 135.1          6.1         2.6          5.6         1.4  virginica
## 136.1          7.7         3.0          6.1         2.3  virginica
## 137.1          6.3         3.4          5.6         2.4  virginica
## 138.1          6.4         3.1          5.5         1.8  virginica
## 140.1          6.9         3.1          5.4         2.1  virginica
## 141.1          6.7         3.1          5.6         2.4  virginica
## 142.1          6.9         3.1          5.1         2.3  virginica
## 143.1          5.8         2.7          5.1         1.9  virginica
## 144.1          6.8         3.2          5.9         2.3  virginica
## 145.1          6.7         3.3          5.7         2.5  virginica
## 146.1          6.7         3.0          5.2         2.3  virginica
## 148.1          6.5         3.0          5.2         2.0  virginica
## 149.1          6.2         3.4          5.4         2.3  virginica
## 150.1          5.9         3.0          5.1         1.8  virginica

iris[, 1:4][idx]
##   [1] 5.1 5.4 5.4 5.8 5.7 5.4 5.1 5.7 5.1 5.4 5.1 5.1 5.2 5.2 5.4 5.2 5.5 5.5
##  [19] 5.1 5.1 5.1 5.3 7.0 6.4 6.9 5.5 6.5 5.7 6.3 6.6 5.2 5.9 6.0 6.1 5.6 6.7
##  [37] 5.6 5.8 6.2 5.6 5.9 6.1 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0
##  [55] 5.4 6.0 6.7 6.3 5.6 5.5 5.5 6.1 5.8 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8 7.1
##  [73] 6.3 6.5 7.6 7.3 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7 6.0 6.9 5.6
##  [91] 7.7 6.3 6.7 7.2 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9
## [109] 6.7 6.9 5.8 6.8 6.7 6.7 6.3 6.5 6.2 5.9 5.1 6.0 5.1 5.9 5.6 5.8 6.6 6.3
## [127] 5.8 6.1 5.1 5.3 5.5 5.1 5.3 5.5 6.7 6.9 5.7 6.7 5.7 6.0 5.6 5.8 6.1 6.4
## [145] 5.6 5.1 5.6 6.1 5.6 5.5 5.4 5.6 5.1 5.1 5.9 5.7 5.2 5.2 5.4 5.1

5장. 단일변수 자료의 탐색

favorite <- c('WINTER', 'SUMMER', 'SPRING', 'SUMMER', 'SUMMER',
              'FALL', 'FALL', 'SUMMER', 'SPRING', 'SPRING')
favorite # favorite의 내용 출력
##  [1] "WINTER" "SUMMER" "SPRING" "SUMMER" "SUMMER" "FALL"   "FALL"   "SUMMER"
##  [9] "SPRING" "SPRING"
table(favorite) # 도수분포표 계산
## favorite
##   FALL SPRING SUMMER WINTER 
##      2      3      4      1
length(favorite)
## [1] 10
table(favorite) / length(favorite) # 비율 출력
## favorite
##   FALL SPRING SUMMER WINTER 
##    0.2    0.3    0.4    0.1
ds <- table(favorite)
ds
## favorite
##   FALL SPRING SUMMER WINTER 
##      2      3      4      1
barplot(ds, main = 'favorite season')

ds <- table(favorite)
ds
## favorite
##   FALL SPRING SUMMER WINTER 
##      2      3      4      1
pie(ds, main = 'favorite season')

favorite.color <- c(2, 3, 2, 1, 1, 2, 2, 1, 3, 2, 1, 3, 2, 1, 2)
ds <- table(favorite.color)
ds
## favorite.color
## 1 2 3 
## 5 7 3
barplot(ds, main = 'favorite color')

colors <- c('green', 'red', 'blue')
names(ds) <- colors # 자료값 1, 2, 3을 green, red, blue로 변경
ds
## green   red  blue 
##     5     7     3
barplot(ds, main = 'favorite color', col = colors) # 색 지정 막대그래프

barplot(ds, main = 'favorite color', col = c('green', 'red', 'blue'))
pie(ds, main = 'favorite color', col = colors) # 색 지정 원그래프

weight <- c(60, 62, 64, 65, 68, 69)
weight.heavy <- c(weight, 120)
weight
## [1] 60 62 64 65 68 69
weight.heavy
## [1]  60  62  64  65  68  69 120

mean(weight) # 평균
## [1] 64.66667
mean(weight.heavy) # 평균
## [1] 72.57143

median(weight) # 중앙값
## [1] 64.5
median(weight.heavy) # 중앙값
## [1] 65

mean(weight, trim = 0.2) # 절사평균(상하위 20% 제외)
## [1] 64.75
mean(weight.heavy, trim = 0.2) # 절사평균(상하위 20% 제외)
## [1] 65.6
mydata <- c(60, 62, 64, 65, 68, 69, 120)
quantile(mydata)
##    0%   25%   50%   75%  100% 
##  60.0  63.0  65.0  68.5 120.0
quantile(mydata, (0:10) / 10) # 10% 단위로 구간을 나누어 계산
##    0%   10%   20%   30%   40%   50%   60%   70%   80%   90%  100% 
##  60.0  61.2  62.4  63.6  64.4  65.0  66.8  68.2  68.8  89.4 120.0
summary(mydata) # 최소값, 중앙값, 평균값, 3분위 값, 최대값
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   60.00   63.00   65.00   72.57   68.50  120.00

mydata <- 0:1000
quantile(mydata)
##   0%  25%  50%  75% 100% 
##    0  250  500  750 1000
quantile(mydata, (0:10) / 10)
##   0%  10%  20%  30%  40%  50%  60%  70%  80%  90% 100% 
##    0  100  200  300  400  500  600  700  800  900 1000
summary(mydata)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0     250     500     500     750    1000
?quantile
## starting httpd help server ... done
mydata <- c(60, 62, 64, 65, 68, 69, 120)
var(mydata) # 분산
## [1] 447.2857
sd(mydata) # 표준편차
## [1] 21.14913
range(mydata) # 값의 범위
## [1]  60 120
diff(range(mydata)) # 최대값, 최소값의 차이
## [1] 60
dist <- cars[, 2] # 자동차 제동거리
hist(dist,                            # 자료(data)
     main = "Histogram for 제동거리", # 제목
     xlab = "제동거리",               # x축 레이블
     ylab = "빈도수",                 # y축 레이블
     border = "blue",                 # 막대 테두리색
     col = rainbow(10),               # 막대 색
     las = 2,                         # x축 글씨 방향(0~3)
     breaks = seq(0, 120, 10))        # 막대 개수 조절

dist <- cars[,2] # 자동차 제동거리(단위: 피트(ft))
boxplot(dist, main = "자동차 제동거리") # ★★★★★

boxplot.stats(dist)
## $stats
## [1]  2 26 36 56 93
## 
## $n
## [1] 50
## 
## $conf
## [1] 29.29663 42.70337
## 
## $out
## [1] 120
boxplot.stats(dist)$stats
## [1]  2 26 36 56 93
boxplot.stats(dist)$stats[4]
## [1] 56
boxplot(Petal.Length ~ Species, data = iris, main = "품종별 꽃잎의 길이")


par(mfrow = c(1, 3)) # 1*3 가상화면 분할

barplot(
    table(mtcars$carb),
    main = "Barplot of Carburetors",
    xlab = "#of carburetors",
    ylab = "frequency",
    col = "blue"
)

barplot(
    table(mtcars$cyl),
    main = "Barplot of Cylender",
    xlab = "#of cylender",
    ylab = "frequency",
    col = "red"
)

barplot(
    table(mtcars$gear),
    main = "Barplot of Grar",
    xlab = "#of gears",
    ylab = "frequency",
    col = "green"
)


par(mfrow = c(1, 1)) # 가상화면 분할 해제

6장. 다중변수 자료의 탐색

wt <- mtcars$wt                 # 중량 자료
mpg <- mtcars$mpg               # 연비 자료
plot(wt, mpg,                   # 2개 변수(x축, y축)
     main = "중량-연비 그래프", # 제목
     xlab = "중량",             # x축 레이블
     ylab = "연비(MPG)",        # y축 레이블
     col = "red",               # point의 color
     pch = 11)                  # point의 종류

vars <- c("mpg", "disp", "drat", "wt") # 대상 변수(연비, 배기량, 후방차측 비율, 중량)
target <- mtcars[, vars]
head(target)
##                    mpg disp drat    wt
## Mazda RX4         21.0  160 3.90 2.620
## Mazda RX4 Wag     21.0  160 3.90 2.875
## Datsun 710        22.8  108 3.85 2.320
## Hornet 4 Drive    21.4  258 3.08 3.215
## Hornet Sportabout 18.7  360 3.15 3.440
## Valiant           18.1  225 2.76 3.460
pairs(target, main = "Multi Plots")    # 대상 데이터

iris.2 <- iris[, 3:4]              # 데이터 준비
point <- as.numeric(iris$Species)  # 점의 모양
point                              # point 내용 출력
##   [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##  [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
##  [75] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3
## [112] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [149] 3 3
color <- c("red", "green", "blue") # 점의 컬러
plot(iris.2,
     main = "Iris plot",
     pch = c(point),
     col = color[point])

beers = c(5, 2, 9, 8, 3, 7, 3, 5, 3, 5) # 자료 입력
bal <- c(0.1, 0.03, 0.19, 0.12, 0.04, 0.0095, 0.07, 0.06, 0.02, 0.05)
tbl <- data.frame(beers, bal)           # 데이터프레임 생성
tbl
##    beers    bal
## 1      5 0.1000
## 2      2 0.0300
## 3      9 0.1900
## 4      8 0.1200
## 5      3 0.0400
## 6      7 0.0095
## 7      3 0.0700
## 8      5 0.0600
## 9      3 0.0200
## 10     5 0.0500
plot(bal ~ beers, data = tbl)           # 산점도 plot(beers, bal)
res <- lm(bal ~ beers, data = tbl)      # 회귀식 도출
abline(res)                             # 회귀선 그리기

cor(beers, bal)                         # 상관계수 계산
## [1] 0.6797025
cor(iris[, 1:4]) # 4개 변수 간 상관성 분석
##              Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
## Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
## Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
## Petal.Width     0.8179411  -0.3661259    0.9628654   1.0000000
month = 1:12 # 자료 입력
late = c(5, 8, 7, 9, 4, 6, 12, 13, 8, 6, 6, 4) # 자료 입력
plot(month,                # x data
     late,                 # y data
     main = "지각생 통계", # 제목
     type = "l",           # 그래프의 종류 선택(알파벳)
     lty = 1,              # 선의 종류(line type) 선택
     lwd = 1,              # 선의 굵기 선택
     xlab = "Month",       # x축 레이블
     ylab = "Late cnt")    # y축 레이블

month = 1:12
late1 = c(5, 8, 7, 9, 4, 6, 12, 13, 8, 6, 6, 4)
late2 = c(4, 6, 5, 8, 7, 8, 10, 11, 6, 5, 7, 3)
plot(month,                  # x data
     late1,                  # y data
     main = "Late Students",
     type = "b",             # 그래프의 종류 선택(알파벳)
     lty = 1,                # 선의 종류(line type) 선택
     col = "red",            # 선의 색 선택
     xlab = "Month",         # x축 레이블
     ylab = "Late cnt",      # y축 레이블
     ylim = c(1, 15))        # y축 값의 (하한, 상한)

lines(month,                 # x data
      late2,                 # y data
      type = "b",            # 선의 종류(line type) 선택
      col = "blue")          # 선의 색 선택

## (1) 분석 대상 데이터셋 준비
# install.packages("mlbench")
library(mlbench)
data("BostonHousing")
myds <- BostonHousing[, c("crim", "rm", "dis", "tax", "medv")]

## (2) grp 변수 추가 ★★★★★
grp <- c()
for (i in 1:nrow(myds)) {
    # myds$medv 값에 따라 그룹 분류
    if (myds$medv[i] >= 25.0) {
        grp[i] <- "H"
    } else if (myds$medv[i] <= 17.0) {
        grp[i] <- "L"
    } else {
        grp[i] <- "M"
    }
}
grp <- factor(grp) # 문자 벡터를 팩터 타입으로 변경
grp <- factor(grp, levels = c("H", "M", "L")) # 레벨의 순서를 H, L, M -> H, M, L

myds <- data.frame(myds, grp) # myds에 grp 열 추가

## (3) 데이터셋의 형태와 기본적인 내용 파악
str(myds)
## 'data.frame':    506 obs. of  6 variables:
##  $ crim: num  0.00632 0.02731 0.02729 0.03237 0.06905 ...
##  $ rm  : num  6.58 6.42 7.18 7 7.15 ...
##  $ dis : num  4.09 4.97 4.97 6.06 6.06 ...
##  $ tax : num  296 242 242 222 222 222 311 311 311 311 ...
##  $ medv: num  24 21.6 34.7 33.4 36.2 28.7 22.9 27.1 16.5 18.9 ...
##  $ grp : Factor w/ 3 levels "H","M","L": 2 2 1 1 1 1 2 1 3 2 ...
head(myds)
##      crim    rm    dis tax medv grp
## 1 0.00632 6.575 4.0900 296 24.0   M
## 2 0.02731 6.421 4.9671 242 21.6   M
## 3 0.02729 7.185 4.9671 242 34.7   H
## 4 0.03237 6.998 6.0622 222 33.4   H
## 5 0.06905 7.147 6.0622 222 36.2   H
## 6 0.02985 6.430 6.0622 222 28.7   H
table(myds$grp) # 주택 가격 그룹별 분포
## 
##   H   M   L 
## 132 247 127

## (4) 히스토그램에 의한 관측값의 분포 확인
par(mfrow = c(2, 3)) # 2*3 가상화면 분할
for (i in 1:5) {
    hist(myds[, i], main = colnames(myds)[i], col = "yellow")
}
par(mfrow = c(1, 1)) # 2*3 가상화면 분할 해제


## (5) 상자그림에 의한 관측값의 분포 확인
par(mfrow = c(2, 3)) # 2*3 가상화면 분할
for (i in 1:5) {
    boxplot(myds[, i], main = colnames(myds)[i])
}
par(mfrow = c(1, 1)) # 2*3 가상화면 분할 해제


## (6) 그룹별 관측값 분포의 확인
boxplot(myds$crim ~ myds$grp, main = "1인당 범죄율")

boxplot(myds$rm ~ myds$grp, main = "방의 개수")

boxplot(myds$dis ~ myds$grp, main = "직업 센터까지의 거리")

boxplot(myds$tax ~ myds$grp, main = "재산세율")


## (7) 다중 산점도를 통한 변수 간 상관 관계의 확인
pairs(myds[, -6]) # 6번째 열 제거(grp)
pairs(myds[, 1:5])


## (8) 그룹 정보를 포함한 변수 간 상관 관계의 확인
point <- as.integer(myds$grp) # 점의 모양 지정
color <- c("red", "green", "blue") # 점의 색 지정
pairs(myds[, -6], pch = point, col = color[point])


## (9) 변수 간 상관계수의 확인
cor(myds[, -6])
##            crim         rm        dis        tax       medv
## crim  1.0000000 -0.2192467 -0.3796701  0.5827643 -0.3883046
## rm   -0.2192467  1.0000000  0.2052462 -0.2920478  0.6953599
## dis  -0.3796701  0.2052462  1.0000000 -0.5344316  0.2499287
## tax   0.5827643 -0.2920478 -0.5344316  1.0000000 -0.4685359
## medv -0.3883046  0.6953599  0.2499287 -0.4685359  1.0000000
cor(myds[1:5])
##            crim         rm        dis        tax       medv
## crim  1.0000000 -0.2192467 -0.3796701  0.5827643 -0.3883046
## rm   -0.2192467  1.0000000  0.2052462 -0.2920478  0.6953599
## dis  -0.3796701  0.2052462  1.0000000 -0.5344316  0.2499287
## tax   0.5827643 -0.2920478 -0.5344316  1.0000000 -0.4685359
## medv -0.3883046  0.6953599  0.2499287 -0.4685359  1.0000000

7장. 데이터 전처리

z <- c(1, 2, 3, NA, 5, NA, 8)   # 결측값이 포함된 벡터 z
sum(z)                          # 정상 계산이 안 됨
## [1] NA
is.na(z)                        # NA 여부 확인
## [1] FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE
sum(is.na(z))                   # NA의 개수 확인
## [1] 2
sum(z, na.rm = TRUE)            # NA를 제외하고 합계를 계산
## [1] 19
z1 <- c(1, 2, 3, NA, 5, NA, 8)          # 결측값이 포함된 벡터 z1
z2 <- c(5, 8, 1, NA, 3, NA, 7)          # 결측값이 포함된 벡터 z2
z1[is.na(z1)] <- 0                      # NA를 0으로 치환
z1
## [1] 1 2 3 0 5 0 8

z1[is.na(z1)] <- mean(z1, na.rm = TRUE) # NA를 z1의 평균값으로 치환
z1
## [1] 1 2 3 0 5 0 8

z3 <- as.vector(na.omit(z2))            # NA를 제거하고 새로운 벡터 생성
z3
## [1] 5 8 1 3 7
# NA를 포함하는 test 데이터 생성
x <- iris
x[1, 2] <- NA
x[1, 3] <- NA
x[2, 3] <- NA
x[3, 4] <- NA
head(x)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1          NA           NA         0.2  setosa
## 2          4.9         3.0           NA         0.2  setosa
## 3          4.7         3.2          1.3          NA  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
# for문을 이용한 방법 ★★★★★
for (i in 1:ncol(x)) {
    this.na <- is.na(x[, i])
    cat(colnames(x)[i], "\t", sum(this.na), "\n")
}
## Sepal.Length      0 
## Sepal.Width   1 
## Petal.Length      2 
## Petal.Width   1 
## Species   0

# apply를 이용한 방법
col_na <- function(y) {
    return(sum(is.na(y)))
}

na_count <- apply(x, 2, FUN = col_na)
na_count
## Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
##            0            1            2            1            0
rowSums(is.na(x))           # 행별 NA의 개수
##   [1] 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##  [38] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##  [75] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [112] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [149] 0 0
sum(rowSums(is.na(x)) > 0)  # NA가 포함된 행의 개수
## [1] 3

sum(is.na(x))               # 데이터셋 전체에서 NA 개수
## [1] 4
head(x)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1          NA           NA         0.2  setosa
## 2          4.9         3.0           NA         0.2  setosa
## 3          4.7         3.2          1.3          NA  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
x[!complete.cases(x), ]     # NA가 포함된 행들 출력
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1          NA           NA         0.2  setosa
## 2          4.9         3.0           NA         0.2  setosa
## 3          4.7         3.2          1.3          NA  setosa
y <- x[complete.cases(x), ] # NA가 포함된 행들 제거
head(y)                     # 새로운 데이터셋 y의 내용 확인
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
## 7          4.6         3.4          1.4         0.3  setosa
## 8          5.0         3.4          1.5         0.2  setosa
## 9          4.4         2.9          1.4         0.2  setosa
st <- data.frame(state.x77)
boxplot(st$Income)

boxplot.stats(st$Income)
## $stats
## [1] 3098 3983 4519 4815 5348
## 
## $n
## [1] 50
## 
## $conf
## [1] 4333.093 4704.907
## 
## $out
## [1] 6315
# stats (각 변수의 최소값, 1사분위수, 2사분위수, 3사분위수, 최대값이 저장되어 있는 행렬)
# n (각 그룹마다의 관측값 수를 저장한 벡터)
# conf (중앙값의 95% 신뢰구간, median+-1.58*IQR/(n)^0.5)
# out (이상치)
boxplot.stats(st$Income)$out
## [1] 6315
out.val <- boxplot.stats(st$Income)$out     # 특이값 추출

st$Income %in% out.val
##  [1] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [49] FALSE FALSE
st$Income == out.val
##  [1] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [49] FALSE FALSE

st$Income[st$Income %in% out.val] <- NA     # 특이값을 NA로 대체
st$Income[st$Income == out.val] <- NA

head(st)
##            Population Income Illiteracy Life.Exp Murder HS.Grad Frost   Area
## Alabama          3615   3624        2.1    69.05   15.1    41.3    20  50708
## Alaska            365     NA        1.5    69.31   11.3    66.7   152 566432
## Arizona          2212   4530        1.8    70.55    7.8    58.1    15 113417
## Arkansas         2110   3378        1.9    70.66   10.1    39.9    65  51945
## California      21198   5114        1.1    71.71   10.3    62.6    20 156361
## Colorado         2541   4884        0.7    72.06    6.8    63.9   166 103766
newdata <- st[complete.cases(st), ]         # NA가 포함된 행 제거 ★★★★★
head(newdata)
##             Population Income Illiteracy Life.Exp Murder HS.Grad Frost   Area
## Alabama           3615   3624        2.1    69.05   15.1    41.3    20  50708
## Arizona           2212   4530        1.8    70.55    7.8    58.1    15 113417
## Arkansas          2110   3378        1.9    70.66   10.1    39.9    65  51945
## California       21198   5114        1.1    71.71   10.3    62.6    20 156361
## Colorado          2541   4884        0.7    72.06    6.8    63.9   166 103766
## Connecticut       3100   5348        1.1    72.48    3.1    56.0   139   4862
v1 <- c(1, 7, 6, 8, 4, 2, 3)
order(v1)
## [1] 1 6 7 5 3 2 4

v1 <- sort(v1) # 오름차순
v1
## [1] 1 2 3 4 6 7 8
v1[order(v1)]
## [1] 1 2 3 4 6 7 8

v2 <- sort(v1, decreasing = T) # 내림차순
v2
## [1] 8 7 6 4 3 2 1
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
order(iris$Sepal.Length)
##   [1]  14   9  39  43  42   4   7  23  48   3  30  12  13  25  31  46   2  10
##  [19]  35  38  58 107   5   8  26  27  36  41  44  50  61  94   1  18  20  22
##  [37]  24  40  45  47  99  28  29  33  60  49   6  11  17  21  32  85  34  37
##  [55]  54  81  82  90  91  65  67  70  89  95 122  16  19  56  80  96  97 100
##  [73] 114  15  68  83  93 102 115 143  62  71 150  63  79  84  86 120 139  64
##  [91]  72  74  92 128 135  69  98 127 149  57  73  88 101 104 124 134 137 147
## [109]  52  75 112 116 129 133 138  55 105 111 117 148  59  76  66  78  87 109
## [127] 125 141 145 146  77 113 144  53 121 140 142  51 103 110 126 130 108 131
## [145] 106 118 119 123 136 132
iris[order(iris$Sepal.Length), ]                    # 오름차순으로 정렬
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 14           4.3         3.0          1.1         0.1     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 23           4.6         3.6          1.0         0.2     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 12           4.8         3.4          1.6         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 25           4.8         3.4          1.9         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 2            4.9         3.0          1.4         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 58           4.9         2.4          3.3         1.0 versicolor
## 107          4.9         2.5          4.5         1.7  virginica
## 5            5.0         3.6          1.4         0.2     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 61           5.0         2.0          3.5         1.0 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 1            5.1         3.5          1.4         0.2     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 99           5.1         2.5          3.0         1.1 versicolor
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 60           5.2         2.7          3.9         1.4 versicolor
## 49           5.3         3.7          1.5         0.2     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 85           5.4         3.0          4.5         1.5 versicolor
## 34           5.5         4.2          1.4         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 54           5.5         2.3          4.0         1.3 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 122          5.6         2.8          4.9         2.0  virginica
## 16           5.7         4.4          1.5         0.4     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 56           5.7         2.8          4.5         1.3 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 114          5.7         2.5          5.0         2.0  virginica
## 15           5.8         4.0          1.2         0.2     setosa
## 68           5.8         2.7          4.1         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 102          5.8         2.7          5.1         1.9  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 62           5.9         3.0          4.2         1.5 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 150          5.9         3.0          5.1         1.8  virginica
## 63           6.0         2.2          4.0         1.0 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 120          6.0         2.2          5.0         1.5  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 64           6.1         2.9          4.7         1.4 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 128          6.1         3.0          4.9         1.8  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 69           6.2         2.2          4.5         1.5 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 127          6.2         2.8          4.8         1.8  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 57           6.3         3.3          4.7         1.6 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 52           6.4         3.2          4.5         1.5 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 112          6.4         2.7          5.3         1.9  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 55           6.5         2.8          4.6         1.5 versicolor
## 105          6.5         3.0          5.8         2.2  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 59           6.6         2.9          4.6         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 109          6.7         2.5          5.8         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 77           6.8         2.8          4.8         1.4 versicolor
## 113          6.8         3.0          5.5         2.1  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 53           6.9         3.1          4.9         1.5 versicolor
## 121          6.9         3.2          5.7         2.3  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 51           7.0         3.2          4.7         1.4 versicolor
## 103          7.1         3.0          5.9         2.1  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 132          7.9         3.8          6.4         2.0  virginica
iris[order(iris$Sepal.Length, decreasing = T), ]    # 내림차순으로 정렬
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 132          7.9         3.8          6.4         2.0  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 51           7.0         3.2          4.7         1.4 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 121          6.9         3.2          5.7         2.3  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 77           6.8         2.8          4.8         1.4 versicolor
## 113          6.8         3.0          5.5         2.1  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 66           6.7         3.1          4.4         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 109          6.7         2.5          5.8         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 59           6.6         2.9          4.6         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 105          6.5         3.0          5.8         2.2  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 52           6.4         3.2          4.5         1.5 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 112          6.4         2.7          5.3         1.9  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 57           6.3         3.3          4.7         1.6 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 69           6.2         2.2          4.5         1.5 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 127          6.2         2.8          4.8         1.8  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 64           6.1         2.9          4.7         1.4 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 128          6.1         3.0          4.9         1.8  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 63           6.0         2.2          4.0         1.0 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 120          6.0         2.2          5.0         1.5  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 62           5.9         3.0          4.2         1.5 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 150          5.9         3.0          5.1         1.8  virginica
## 15           5.8         4.0          1.2         0.2     setosa
## 68           5.8         2.7          4.1         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 102          5.8         2.7          5.1         1.9  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 16           5.7         4.4          1.5         0.4     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 56           5.7         2.8          4.5         1.3 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 114          5.7         2.5          5.0         2.0  virginica
## 65           5.6         2.9          3.6         1.3 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 122          5.6         2.8          4.9         2.0  virginica
## 34           5.5         4.2          1.4         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 54           5.5         2.3          4.0         1.3 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 6            5.4         3.9          1.7         0.4     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 85           5.4         3.0          4.5         1.5 versicolor
## 49           5.3         3.7          1.5         0.2     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 60           5.2         2.7          3.9         1.4 versicolor
## 1            5.1         3.5          1.4         0.2     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 99           5.1         2.5          3.0         1.1 versicolor
## 5            5.0         3.6          1.4         0.2     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 61           5.0         2.0          3.5         1.0 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 2            4.9         3.0          1.4         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 58           4.9         2.4          3.3         1.0 versicolor
## 107          4.9         2.5          4.5         1.7  virginica
## 12           4.8         3.4          1.6         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 25           4.8         3.4          1.9         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 23           4.6         3.6          1.0         0.2     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 14           4.3         3.0          1.1         0.1     setosa

iris.new <- iris[order(iris$Sepal.Length), ]        # 정렬된 데이터를 저장
head(iris.new)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 14          4.3         3.0          1.1         0.1  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 4           4.6         3.1          1.5         0.2  setosa
iris[order(iris$Species,-iris$Petal.Length, decreasing = T), ] # 정렬 기준이 2개
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 107          4.9         2.5          4.5         1.7  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 150          5.9         3.0          5.1         1.8  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 101          6.3         3.3          6.0         2.5  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 99           5.1         2.5          3.0         1.1 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 51           7.0         3.2          4.7         1.4 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 23           4.6         3.6          1.0         0.2     setosa
## 14           4.3         3.0          1.1         0.1     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 1            5.1         3.5          1.4         0.2     setosa
## 2            4.9         3.0          1.4         0.2     setosa
## 5            5.0         3.6          1.4         0.2     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 12           4.8         3.4          1.6         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 25           4.8         3.4          1.9         0.2     setosa
## 45           5.1         3.8          1.9         0.4     setosa
iris[order(iris$Species, decreasing = T, iris$Petal.Length), ]
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 119          7.7         2.6          6.9         2.3  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 101          6.3         3.3          6.0         2.5  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 150          5.9         3.0          5.1         1.8  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 107          4.9         2.5          4.5         1.7  virginica
## 84           6.0         2.7          5.1         1.6 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 51           7.0         3.2          4.7         1.4 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 25           4.8         3.4          1.9         0.2     setosa
## 45           5.1         3.8          1.9         0.4     setosa
## 6            5.4         3.9          1.7         0.4     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 24           5.1         3.3          1.7         0.5     setosa
## 12           4.8         3.4          1.6         0.2     setosa
## 26           5.0         3.0          1.6         0.2     setosa
## 27           5.0         3.4          1.6         0.4     setosa
## 30           4.7         3.2          1.6         0.2     setosa
## 31           4.8         3.1          1.6         0.2     setosa
## 44           5.0         3.5          1.6         0.6     setosa
## 47           5.1         3.8          1.6         0.2     setosa
## 4            4.6         3.1          1.5         0.2     setosa
## 8            5.0         3.4          1.5         0.2     setosa
## 10           4.9         3.1          1.5         0.1     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 20           5.1         3.8          1.5         0.3     setosa
## 22           5.1         3.7          1.5         0.4     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 35           4.9         3.1          1.5         0.2     setosa
## 40           5.1         3.4          1.5         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 1            5.1         3.5          1.4         0.2     setosa
## 2            4.9         3.0          1.4         0.2     setosa
## 5            5.0         3.6          1.4         0.2     setosa
## 7            4.6         3.4          1.4         0.3     setosa
## 9            4.4         2.9          1.4         0.2     setosa
## 13           4.8         3.0          1.4         0.1     setosa
## 18           5.1         3.5          1.4         0.3     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 38           4.9         3.6          1.4         0.1     setosa
## 46           4.8         3.0          1.4         0.3     setosa
## 48           4.6         3.2          1.4         0.2     setosa
## 50           5.0         3.3          1.4         0.2     setosa
## 3            4.7         3.2          1.3         0.2     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 39           4.4         3.0          1.3         0.2     setosa
## 41           5.0         3.5          1.3         0.3     setosa
## 42           4.5         2.3          1.3         0.3     setosa
## 43           4.4         3.2          1.3         0.2     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 36           5.0         3.2          1.2         0.2     setosa
## 14           4.3         3.0          1.1         0.1     setosa
## 23           4.6         3.6          1.0         0.2     setosa
sp <- split(iris, iris$Species) # 품종별로 데이터 분리
sp                              # 분리 결과 확인
## $setosa
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 12          4.8         3.4          1.6         0.2  setosa
## 13          4.8         3.0          1.4         0.1  setosa
## 14          4.3         3.0          1.1         0.1  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 23          4.6         3.6          1.0         0.2  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 25          4.8         3.4          1.9         0.2  setosa
## 26          5.0         3.0          1.6         0.2  setosa
## 27          5.0         3.4          1.6         0.4  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 30          4.7         3.2          1.6         0.2  setosa
## 31          4.8         3.1          1.6         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 35          4.9         3.1          1.5         0.2  setosa
## 36          5.0         3.2          1.2         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 38          4.9         3.6          1.4         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 41          5.0         3.5          1.3         0.3  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 44          5.0         3.5          1.6         0.6  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 46          4.8         3.0          1.4         0.3  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 48          4.6         3.2          1.4         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
## 50          5.0         3.3          1.4         0.2  setosa
## 
## $versicolor
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 58           4.9         2.4          3.3         1.0 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 61           5.0         2.0          3.5         1.0 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 94           5.0         2.3          3.3         1.0 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 99           5.1         2.5          3.0         1.1 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 
## $virginica
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 101          6.3         3.3          6.0         2.5 virginica
## 102          5.8         2.7          5.1         1.9 virginica
## 103          7.1         3.0          5.9         2.1 virginica
## 104          6.3         2.9          5.6         1.8 virginica
## 105          6.5         3.0          5.8         2.2 virginica
## 106          7.6         3.0          6.6         2.1 virginica
## 107          4.9         2.5          4.5         1.7 virginica
## 108          7.3         2.9          6.3         1.8 virginica
## 109          6.7         2.5          5.8         1.8 virginica
## 110          7.2         3.6          6.1         2.5 virginica
## 111          6.5         3.2          5.1         2.0 virginica
## 112          6.4         2.7          5.3         1.9 virginica
## 113          6.8         3.0          5.5         2.1 virginica
## 114          5.7         2.5          5.0         2.0 virginica
## 115          5.8         2.8          5.1         2.4 virginica
## 116          6.4         3.2          5.3         2.3 virginica
## 117          6.5         3.0          5.5         1.8 virginica
## 118          7.7         3.8          6.7         2.2 virginica
## 119          7.7         2.6          6.9         2.3 virginica
## 120          6.0         2.2          5.0         1.5 virginica
## 121          6.9         3.2          5.7         2.3 virginica
## 122          5.6         2.8          4.9         2.0 virginica
## 123          7.7         2.8          6.7         2.0 virginica
## 124          6.3         2.7          4.9         1.8 virginica
## 125          6.7         3.3          5.7         2.1 virginica
## 126          7.2         3.2          6.0         1.8 virginica
## 127          6.2         2.8          4.8         1.8 virginica
## 128          6.1         3.0          4.9         1.8 virginica
## 129          6.4         2.8          5.6         2.1 virginica
## 130          7.2         3.0          5.8         1.6 virginica
## 131          7.4         2.8          6.1         1.9 virginica
## 132          7.9         3.8          6.4         2.0 virginica
## 133          6.4         2.8          5.6         2.2 virginica
## 134          6.3         2.8          5.1         1.5 virginica
## 135          6.1         2.6          5.6         1.4 virginica
## 136          7.7         3.0          6.1         2.3 virginica
## 137          6.3         3.4          5.6         2.4 virginica
## 138          6.4         3.1          5.5         1.8 virginica
## 139          6.0         3.0          4.8         1.8 virginica
## 140          6.9         3.1          5.4         2.1 virginica
## 141          6.7         3.1          5.6         2.4 virginica
## 142          6.9         3.1          5.1         2.3 virginica
## 143          5.8         2.7          5.1         1.9 virginica
## 144          6.8         3.2          5.9         2.3 virginica
## 145          6.7         3.3          5.7         2.5 virginica
## 146          6.7         3.0          5.2         2.3 virginica
## 147          6.3         2.5          5.0         1.9 virginica
## 148          6.5         3.0          5.2         2.0 virginica
## 149          6.2         3.4          5.4         2.3 virginica
## 150          5.9         3.0          5.1         1.8 virginica
summary(sp)                     # 분리 결과 요약
##            Length Class      Mode
## setosa     5      data.frame list
## versicolor 5      data.frame list
## virginica  5      data.frame list
sp$setosa                       # setosa 품종의 데이터 확인
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 12          4.8         3.4          1.6         0.2  setosa
## 13          4.8         3.0          1.4         0.1  setosa
## 14          4.3         3.0          1.1         0.1  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 23          4.6         3.6          1.0         0.2  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 25          4.8         3.4          1.9         0.2  setosa
## 26          5.0         3.0          1.6         0.2  setosa
## 27          5.0         3.4          1.6         0.4  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 30          4.7         3.2          1.6         0.2  setosa
## 31          4.8         3.1          1.6         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 35          4.9         3.1          1.5         0.2  setosa
## 36          5.0         3.2          1.2         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 38          4.9         3.6          1.4         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 41          5.0         3.5          1.3         0.3  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 44          5.0         3.5          1.6         0.6  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 46          4.8         3.0          1.4         0.3  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 48          4.6         3.2          1.4         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
## 50          5.0         3.3          1.4         0.2  setosa
setosa <- sp$setosa
subset(iris, Species == "setosa")
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1           5.1         3.5          1.4         0.2  setosa
## 2           4.9         3.0          1.4         0.2  setosa
## 3           4.7         3.2          1.3         0.2  setosa
## 4           4.6         3.1          1.5         0.2  setosa
## 5           5.0         3.6          1.4         0.2  setosa
## 6           5.4         3.9          1.7         0.4  setosa
## 7           4.6         3.4          1.4         0.3  setosa
## 8           5.0         3.4          1.5         0.2  setosa
## 9           4.4         2.9          1.4         0.2  setosa
## 10          4.9         3.1          1.5         0.1  setosa
## 11          5.4         3.7          1.5         0.2  setosa
## 12          4.8         3.4          1.6         0.2  setosa
## 13          4.8         3.0          1.4         0.1  setosa
## 14          4.3         3.0          1.1         0.1  setosa
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 17          5.4         3.9          1.3         0.4  setosa
## 18          5.1         3.5          1.4         0.3  setosa
## 19          5.7         3.8          1.7         0.3  setosa
## 20          5.1         3.8          1.5         0.3  setosa
## 21          5.4         3.4          1.7         0.2  setosa
## 22          5.1         3.7          1.5         0.4  setosa
## 23          4.6         3.6          1.0         0.2  setosa
## 24          5.1         3.3          1.7         0.5  setosa
## 25          4.8         3.4          1.9         0.2  setosa
## 26          5.0         3.0          1.6         0.2  setosa
## 27          5.0         3.4          1.6         0.4  setosa
## 28          5.2         3.5          1.5         0.2  setosa
## 29          5.2         3.4          1.4         0.2  setosa
## 30          4.7         3.2          1.6         0.2  setosa
## 31          4.8         3.1          1.6         0.2  setosa
## 32          5.4         3.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
## 35          4.9         3.1          1.5         0.2  setosa
## 36          5.0         3.2          1.2         0.2  setosa
## 37          5.5         3.5          1.3         0.2  setosa
## 38          4.9         3.6          1.4         0.1  setosa
## 39          4.4         3.0          1.3         0.2  setosa
## 40          5.1         3.4          1.5         0.2  setosa
## 41          5.0         3.5          1.3         0.3  setosa
## 42          4.5         2.3          1.3         0.3  setosa
## 43          4.4         3.2          1.3         0.2  setosa
## 44          5.0         3.5          1.6         0.6  setosa
## 45          5.1         3.8          1.9         0.4  setosa
## 46          4.8         3.0          1.4         0.3  setosa
## 47          5.1         3.8          1.6         0.2  setosa
## 48          4.6         3.2          1.4         0.2  setosa
## 49          5.3         3.7          1.5         0.2  setosa
## 50          5.0         3.3          1.4         0.2  setosa
subset(iris, Sepal.Length > 7.5)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
## 106          7.6         3.0          6.6         2.1 virginica
## 118          7.7         3.8          6.7         2.2 virginica
## 119          7.7         2.6          6.9         2.3 virginica
## 123          7.7         2.8          6.7         2.0 virginica
## 132          7.9         3.8          6.4         2.0 virginica
## 136          7.7         3.0          6.1         2.3 virginica
subset(iris, Sepal.Length > 5.1 &
           Sepal.Width > 3.9)
##    Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 15          5.8         4.0          1.2         0.2  setosa
## 16          5.7         4.4          1.5         0.4  setosa
## 33          5.2         4.1          1.5         0.1  setosa
## 34          5.5         4.2          1.4         0.2  setosa
subset(iris, Sepal.Length > 5.1 |
           Sepal.Width > 3.9)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 6            5.4         3.9          1.7         0.4     setosa
## 11           5.4         3.7          1.5         0.2     setosa
## 15           5.8         4.0          1.2         0.2     setosa
## 16           5.7         4.4          1.5         0.4     setosa
## 17           5.4         3.9          1.3         0.4     setosa
## 19           5.7         3.8          1.7         0.3     setosa
## 21           5.4         3.4          1.7         0.2     setosa
## 28           5.2         3.5          1.5         0.2     setosa
## 29           5.2         3.4          1.4         0.2     setosa
## 32           5.4         3.4          1.5         0.4     setosa
## 33           5.2         4.1          1.5         0.1     setosa
## 34           5.5         4.2          1.4         0.2     setosa
## 37           5.5         3.5          1.3         0.2     setosa
## 49           5.3         3.7          1.5         0.2     setosa
## 51           7.0         3.2          4.7         1.4 versicolor
## 52           6.4         3.2          4.5         1.5 versicolor
## 53           6.9         3.1          4.9         1.5 versicolor
## 54           5.5         2.3          4.0         1.3 versicolor
## 55           6.5         2.8          4.6         1.5 versicolor
## 56           5.7         2.8          4.5         1.3 versicolor
## 57           6.3         3.3          4.7         1.6 versicolor
## 59           6.6         2.9          4.6         1.3 versicolor
## 60           5.2         2.7          3.9         1.4 versicolor
## 62           5.9         3.0          4.2         1.5 versicolor
## 63           6.0         2.2          4.0         1.0 versicolor
## 64           6.1         2.9          4.7         1.4 versicolor
## 65           5.6         2.9          3.6         1.3 versicolor
## 66           6.7         3.1          4.4         1.4 versicolor
## 67           5.6         3.0          4.5         1.5 versicolor
## 68           5.8         2.7          4.1         1.0 versicolor
## 69           6.2         2.2          4.5         1.5 versicolor
## 70           5.6         2.5          3.9         1.1 versicolor
## 71           5.9         3.2          4.8         1.8 versicolor
## 72           6.1         2.8          4.0         1.3 versicolor
## 73           6.3         2.5          4.9         1.5 versicolor
## 74           6.1         2.8          4.7         1.2 versicolor
## 75           6.4         2.9          4.3         1.3 versicolor
## 76           6.6         3.0          4.4         1.4 versicolor
## 77           6.8         2.8          4.8         1.4 versicolor
## 78           6.7         3.0          5.0         1.7 versicolor
## 79           6.0         2.9          4.5         1.5 versicolor
## 80           5.7         2.6          3.5         1.0 versicolor
## 81           5.5         2.4          3.8         1.1 versicolor
## 82           5.5         2.4          3.7         1.0 versicolor
## 83           5.8         2.7          3.9         1.2 versicolor
## 84           6.0         2.7          5.1         1.6 versicolor
## 85           5.4         3.0          4.5         1.5 versicolor
## 86           6.0         3.4          4.5         1.6 versicolor
## 87           6.7         3.1          4.7         1.5 versicolor
## 88           6.3         2.3          4.4         1.3 versicolor
## 89           5.6         3.0          4.1         1.3 versicolor
## 90           5.5         2.5          4.0         1.3 versicolor
## 91           5.5         2.6          4.4         1.2 versicolor
## 92           6.1         3.0          4.6         1.4 versicolor
## 93           5.8         2.6          4.0         1.2 versicolor
## 95           5.6         2.7          4.2         1.3 versicolor
## 96           5.7         3.0          4.2         1.2 versicolor
## 97           5.7         2.9          4.2         1.3 versicolor
## 98           6.2         2.9          4.3         1.3 versicolor
## 100          5.7         2.8          4.1         1.3 versicolor
## 101          6.3         3.3          6.0         2.5  virginica
## 102          5.8         2.7          5.1         1.9  virginica
## 103          7.1         3.0          5.9         2.1  virginica
## 104          6.3         2.9          5.6         1.8  virginica
## 105          6.5         3.0          5.8         2.2  virginica
## 106          7.6         3.0          6.6         2.1  virginica
## 108          7.3         2.9          6.3         1.8  virginica
## 109          6.7         2.5          5.8         1.8  virginica
## 110          7.2         3.6          6.1         2.5  virginica
## 111          6.5         3.2          5.1         2.0  virginica
## 112          6.4         2.7          5.3         1.9  virginica
## 113          6.8         3.0          5.5         2.1  virginica
## 114          5.7         2.5          5.0         2.0  virginica
## 115          5.8         2.8          5.1         2.4  virginica
## 116          6.4         3.2          5.3         2.3  virginica
## 117          6.5         3.0          5.5         1.8  virginica
## 118          7.7         3.8          6.7         2.2  virginica
## 119          7.7         2.6          6.9         2.3  virginica
## 120          6.0         2.2          5.0         1.5  virginica
## 121          6.9         3.2          5.7         2.3  virginica
## 122          5.6         2.8          4.9         2.0  virginica
## 123          7.7         2.8          6.7         2.0  virginica
## 124          6.3         2.7          4.9         1.8  virginica
## 125          6.7         3.3          5.7         2.1  virginica
## 126          7.2         3.2          6.0         1.8  virginica
## 127          6.2         2.8          4.8         1.8  virginica
## 128          6.1         3.0          4.9         1.8  virginica
## 129          6.4         2.8          5.6         2.1  virginica
## 130          7.2         3.0          5.8         1.6  virginica
## 131          7.4         2.8          6.1         1.9  virginica
## 132          7.9         3.8          6.4         2.0  virginica
## 133          6.4         2.8          5.6         2.2  virginica
## 134          6.3         2.8          5.1         1.5  virginica
## 135          6.1         2.6          5.6         1.4  virginica
## 136          7.7         3.0          6.1         2.3  virginica
## 137          6.3         3.4          5.6         2.4  virginica
## 138          6.4         3.1          5.5         1.8  virginica
## 139          6.0         3.0          4.8         1.8  virginica
## 140          6.9         3.1          5.4         2.1  virginica
## 141          6.7         3.1          5.6         2.4  virginica
## 142          6.9         3.1          5.1         2.3  virginica
## 143          5.8         2.7          5.1         1.9  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 145          6.7         3.3          5.7         2.5  virginica
## 146          6.7         3.0          5.2         2.3  virginica
## 147          6.3         2.5          5.0         1.9  virginica
## 148          6.5         3.0          5.2         2.0  virginica
## 149          6.2         3.4          5.4         2.3  virginica
## 150          5.9         3.0          5.1         1.8  virginica
subset(iris, Sepal.Length > 7.6,
       select = c(Petal.Length, Petal.Width))
##     Petal.Length Petal.Width
## 118          6.7         2.2
## 119          6.9         2.3
## 123          6.7         2.0
## 132          6.4         2.0
## 136          6.1         2.3
x <- 1:10
sample(x, size = 5, replace = FALSE) # 비복원추출
## [1] 8 9 7 6 5
sample(x, size = 5, replace = TRUE)
## [1]  3  1  5  5 10

x <- 1:45
sample(x, size = 6, replace = FALSE)
## [1] 40  6 44 13 24 33
idx <- sample(1:nrow(iris), size = 50,
              replace = FALSE)
iris.50 <- iris[idx, ]  # 50개의 행 추출
dim(iris.50)            # 행과 열의 개수 확인
## [1] 50  5
head(iris.50)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width    Species
## 124          6.3         2.7          4.9         1.8  virginica
## 144          6.8         3.2          5.9         2.3  virginica
## 6            5.4         3.9          1.7         0.4     setosa
## 90           5.5         2.5          4.0         1.3 versicolor
## 120          6.0         2.2          5.0         1.5  virginica
## 134          6.3         2.8          5.1         1.5  virginica
sample(1:20, size = 5)
## [1]  3  2  6 13  5
sample(1:20, size = 5)
## [1] 17  5 14  3  8
sample(1:20, size = 5)
## [1] 19 20 17  1  3

# 같은 값이 추출되도록 고정시키고 싶다면
# set.seed() 함수를 이용하여 seed값을 지정해주면 된다.
set.seed(100)
sample(1:20, size = 5)
## [1] 10  6 16 14 12
set.seed(100)
sample(1:20, size = 5)
## [1] 10  6 16 14 12
set.seed(100)
sample(1:20, size = 5)
## [1] 10  6 16 14 12
combn(1:5, 3) # 1~5에서 3개를 뽑는 조합
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,]    1    1    1    1    1    1    2    2    2     3
## [2,]    2    2    2    3    3    4    3    3    4     4
## [3,]    3    4    5    4    5    5    4    5    5     5

x = c("red", "green", "blue", "black", "white")
com <- combn(x, 2) # x의 원소를 2개씩 뽑는 조합
com
##      [,1]    [,2]   [,3]    [,4]    [,5]    [,6]    [,7]    [,8]    [,9]   
## [1,] "red"   "red"  "red"   "red"   "green" "green" "green" "blue"  "blue" 
## [2,] "green" "blue" "black" "white" "blue"  "black" "white" "black" "white"
##      [,10]  
## [1,] "black"
## [2,] "white"

for (i in 1:ncol(com)) {
    # 조합을 출력
    cat(com[, i], "\n")
}
## red green 
## red blue 
## red black 
## red white 
## green blue 
## green black 
## green white 
## blue black 
## blue white 
## black white
# aggregate(data, by = '기준이 되는 컬럼', FUN)
agg <- aggregate(iris[, -5], by = list(iris$Species), FUN = mean)
agg
##      Group.1 Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1     setosa        5.006       3.428        1.462       0.246
## 2 versicolor        5.936       2.770        4.260       1.326
## 3  virginica        6.588       2.974        5.552       2.026
# aggregate는 데이터의 특정 컬럼을 기준으로 통계량을 구해주는 함수
agg <- aggregate(iris[, -5], by = list(표준편차 = iris$Species), FUN = sd)
agg
##     표준편차 Sepal.Length Sepal.Width Petal.Length Petal.Width
## 1     setosa    0.3524897   0.3790644    0.1736640   0.1053856
## 2 versicolor    0.5161711   0.3137983    0.4699110   0.1977527
## 3  virginica    0.6358796   0.3224966    0.5518947   0.2746501
head(mtcars)
##                    mpg cyl disp  hp drat    wt  qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
agg <- aggregate(mtcars, by = list(cyl = mtcars$cyl, vs = mtcars$vs), FUN = max)
agg
##   cyl vs  mpg cyl  disp  hp drat    wt  qsec vs am gear carb
## 1   4  0 26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
## 2   6  0 21.0   6 160.0 175 3.90 2.875 17.02  0  1    5    6
## 3   8  0 19.2   8 472.0 335 4.22 5.424 18.00  0  1    5    8
## 4   4  1 33.9   4 146.7 113 4.93 3.190 22.90  1  1    5    2
## 5   6  1 21.4   6 258.0 123 3.92 3.460 20.22  1  0    4    4

agg <- aggregate(mtcars, by = list(cyl = mtcars$cyl, vs = mtcars$vs), FUN = mean)
agg
##   cyl vs      mpg cyl   disp       hp     drat       wt     qsec vs        am
## 1   4  0 26.00000   4 120.30  91.0000 4.430000 2.140000 16.70000  0 1.0000000
## 2   6  0 20.56667   6 155.00 131.6667 3.806667 2.755000 16.32667  0 1.0000000
## 3   8  0 15.10000   8 353.10 209.2143 3.229286 3.999214 16.77214  0 0.1428571
## 4   4  1 26.73000   4 103.62  81.8000 4.035000 2.300300 19.38100  1 0.7000000
## 5   6  1 19.12500   6 204.55 115.2500 3.420000 3.388750 19.21500  1 0.0000000
##       gear     carb
## 1 5.000000 2.000000
## 2 4.333333 4.666667
## 3 3.285714 3.500000
## 4 4.000000 1.500000
## 5 3.500000 2.500000
x <- data.frame(name = c("a", "b", "c"), math = c(90, 80, 40))
y <- data.frame(name = c("a", "b", "d"), korean = c(75, 60, 90))
x ; y
##   name math
## 1    a   90
## 2    b   80
## 3    c   40
##   name korean
## 1    a     75
## 2    b     60
## 3    d     90
z <- merge(x, y, by = c("name"))
z
##   name math korean
## 1    a   90     75
## 2    b   80     60
merge(x, y, all.x = T)  # 첫 번째 데이터셋의 행들은 모두 표시되도록
##   name math korean
## 1    a   90     75
## 2    b   80     60
## 3    c   40     NA
merge(x, y, all.y = T)  # 두 번째 데이터셋의 행들은 모두 표시되도록
##   name math korean
## 1    a   90     75
## 2    b   80     60
## 3    d   NA     90
merge(x, y, all = T)    # 두 데이터셋의 모든 행들이 표시되도록
##   name math korean
## 1    a   90     75
## 2    b   80     60
## 3    c   40     NA
## 4    d   NA     90
x <- data.frame(name = c("a", "b", "c"), math = c(90, 80, 40))
y <- data.frame(sname = c("a", "b", "d"), korean = c(75, 60, 90))
x # 병합 기준 열의 이름이 name
##   name math
## 1    a   90
## 2    b   80
## 3    c   40
y # 병합 기준 열의 이름이 sname
##   sname korean
## 1     a     75
## 2     b     60
## 3     d     90
merge(x, y, by.x = c("name"), by.y = c("sname"))
##   name math korean
## 1    a   90     75
## 2    b   80     60
Source Code
---
title: "R Basic"
author: "Hyunsoo Kim"
date: "2021-10-13"
categories: [Basic, Code, R]
page-layout: full
output:
  prettydoc::html_pretty:
    theme: architect
    highlight: github
editor_options: 
  chunk_output_type: console
mainfont: NanumGothic
---

# R 기초

> 모두를 위한 R 데이터 분석 입문

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE,
                      collapse = TRUE,
                      comment = "##")
library(tidyverse)
```

## 2장. 변수와 벡터

```{r 2-01}
2 + 3  # 2 더하기 3
(3 + 6) * 8
2 ^ 3  # 2의 세제곱
8 %% 3
```

```{r 2-02}
7 + 4
```

```{r 2-03}
log(10) + 5 # 로그함수
sqrt(25) # 제곱근
max(5, 3, 2) # 가장 큰 값
```

```{r 2-04}
a <- 10
b <- 20
c <- a+b
print(c)
```

```{r 2-05}
a <- 125
a
print(a)
```

```{r 2-06, error = TRUE}
a <- 10 # a에 숫자 저장
b <- 20
a + b # a+b의 결과 출력
a <- "A" # a에 문자 저장
a + b # a+b의 결과 출력. 에러 발생
```

```{r 2-07}
x <- c(1, 2, 3) # 숫자형 벡터
y <- c("a", "b", "c") # 문자형 벡터
z <- c(TRUE, TRUE, FALSE, TRUE) # 논리형 벡터
x ; y ;z
```

```{r 2-08}
w <- c(1, 2, 3, "a", "b", "c")
w
```

```{r 2-09}
v1 <- 50:90
v1
v2 <- c(1, 2, 5, 50:90)
v2
```

```{r 2-10}
v3 <- seq(1, 101, 3)
v3
v4 <- seq(0.1, 1.0, 0.1)
v4
```

```{r 2-11}
v5 <- rep(1, times = 5) # 1을 5번 반복
v5
v6 <- rep(1:5, times = 3) # 1에서 5까지 3번 반복
v6
v7 <- rep(c(1, 5, 9), times = 3) # 1, 5, 9를 3번 반복
v7
v8 <- rep(1:5, each = 3) # 1에서 5를 각각 3번 반복
v8

rep(1:3, each = 3, times = 3)
rep(1:3, times = 3, each = 3)
```

```{r 2-12}
score <- c(90, 85, 70) # 성적
score
names(score) # score에 저장된 값들의 이름을 보이시오
names(score) <- c("John", "Tom", "Jane") # 값들에 이름을 부여
names(score) # score에 저장된 값들의 이름을 보이시오
score # 이름과 함께 값이 출력
```

```{r 2-13}
d <- c(1, 4, 3, 7, 8)
d[1]
d[2]
d[3]
d[4]
d[5]
d[6]
d[c(2, 4)]
```

```{r 2-14}
d <- c(1, 4, 3, 7, 8)
d[c(1, 3, 5)] # 1, 3, 5번째 값 출력
d[1:3] # 처음 세 개의 값 출력
d[seq(1, 5, 2)] # 홀수 번째 값 출력
d[-2] # 2번째 값 제외하고 출력
d[-c(3:5)] # 3~5번째 값은 제외하고 출력
```

```{r 2-15}
GNP <- c(2000, 2450, 960)
GNP
names(GNP) <- c("Korea", "Japan", "Nepal")
GNP
GNP[1]
GNP["Korea"]
GNP_NEW <- GNP[c("Korea", "Nepal")]
GNP_NEW
```

```{r 2-16}
v1 <- c(1, 5, 7, 8, 9)
v1
v1[2] <- 3 # v1의 2번째 값을 3으로 변경
v1
v1[c(1, 5)] <- c(10, 20) # v1의 1, 5번째 값을 각각 10, 20으로 변경
v1
```

```{r 2-17}
d <- c(1, 4, 3, 7, 8)
2 * d
d - 5
3 * d + 4
```

```{r 2-18}
x <- c(1, 2, 3)
y <- c(4, 5, 6)
x + y # 대응하는 원소끼리 더하여 출력
x * y # 대응하는 원소끼리 곱하여 출력
z <- x + y # x, y를 더하여 z에 저장
z
```

```{r 2-19}
d <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
sum(d) # d에 포함된 값들의 합
sum(2 * d) # d에 포함된 값들에 2를 곱한 후 합한 값
length(d) # d에 포함된 값들의 개수
mean(d[1:5]) # 1~5번째 값들의 평균
max(d) # d에 포함된 값들의 최댓값
min(d) # d에 포함된 값들의 최솟값
sort(d) # 오름차순 정렬
sort(d, decreasing = FALSE) # 오름차순 정렬
sort(d, decreasing = TRUE) # 내림차순 정렬
sort(d, TRUE) # 내림차순 정렬

v1 <- median(d)
v1
v2 <- sum(d) / length(d)
v2
mean(d)
```

```{r 2-20}
d <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
d >= 5
d[d > 5] # 5보다 큰 값
sum(d > 5) # 5보다 큰 값의 개수를 출력
sum(d[d > 5]) # 5보다 큰 값의 합계를 출력
d == 5

condi <- d > 5 & d < 8 # 조건을 변수에 저장
d[condi] # 조건에 맞는 값들을 선택
d[d > 5 & d < 8]
```

```{r 2-21}
ds <- c(90, 85, 70, 84)
my.info <- list(name = 'Tom', age = 60, status = TRUE, score = ds)
my.info # 리스트에 저장된 내용을 모두 출력
my.info[1] # 이름이랑 내용 다 출력
my.info[[1]] # 리스트의 첫 번째 값을 출력
my.info$name # 리스트에서 값의 이름이 name인 값을 출력
my.info[[4]] # 리스트의 네 번째 값을 출력
```

```{r 2-22}
bt <- c('A', 'B', 'B', 'O', 'AB', 'A') # 문자형 벡터 bt 정의
bt.new <- factor(bt) # 팩터 bt.new 정의
bt # 벡터 bt의 내용 출력
bt.new # 팩터 bt.new의 내용 출력
bt[5] # 벡터 bt의 5번째 값 출력
bt.new[5] # 팩터 bt.new의 5번째 값 출력
levels(bt.new) # 팩터에 저장된 값의 종류를 출력
as.integer(bt.new) # 팩터의 문자값을 숫자로 바꾸어 출력
bt.new[7] <- 'B' # 팩터 bt.new의 7번째에 'B' 저장
bt.new[8] <- 'C' # 팩터 bt.new의 8번째에 'C' 저장
bt.new # 팩터 bt.new의 내용 출력
```

## 3장. 매트릭스와 데이터프레임

```{r 3-01}
z <- matrix(1:20, nrow = 4, ncol = 5)
z # 매트릭스 z의 내용을 출력
```

```{r 3-02}
z2 <- matrix(1:20, nrow = 4, ncol = 5, byrow = T)
z2 # 매트릭스 z2의 내용을 출력

z <- matrix(1:16, nrow = 4, ncol = 5)
z
```

```{r 3-03}
x <- 1:4 # 벡터 x 생성
y <- 5:8 # 벡터 y 생성
z <- matrix(1:20, nrow = 4, ncol = 5) # 매트릭스 z 생성

m1 <- cbind(x, y) # x와 y를 열 방향으로 결합하여 매트릭스 생성
m1 # 매트릭스 m1의 내용을 출력
m2 <- rbind(x, y) # x와 y를 행 방향으로 결합하여 매트릭스 생성
m2 # 매트릭스 m2의 내용을 출력
m3 <- rbind(m2, x) # m2와 벡터 x를 행 방향으로 결합
m3 # 매트릭스 m3의 내용을 출력
m4 <- cbind(z, x) # 매트릭스 z와 벡터 x를 열 방향으로 결합
m4 # 매트릭스 m4의 내용을 출력

x <- 1:5
m5 <- cbind(z, x)
m5
```

```{r 3-04}
z <- matrix(1:20, nrow = 4, ncol = 5) # 매트릭스 z 생성
z # 매트릭스 z의 내용 출력

z[2, 3] # 2행 3열에 있는 값
z[1, 4] # 1행 4열에 있는 값
z[2, ] # 2행에 있는 모든 값
z[, 4] # 4열에 있는 모든 값
z[, ]
z
```

```{r 3-05}
z <- matrix(1:20, nrow = 4, ncol = 5) # 매트릭스 z 생성
z # 매트릭스 z의 내용 출력

z[2, 1:3] # 2행의 값 중 1~3열에 있는 값
z[1, c(1, 2, 4)] # 1행의 값 중 1, 2, 4열에 있는 값
z[1:2, ] # 1, 2행에 있는 모든 값
z[, c(1, 4)] # 1, 4열에 있는 모든 값
```

```{r 3-06}
score <- matrix(c(90, 85, 69, 78,
                  85, 96, 49, 95,
                  90, 80, 70, 60),
                nrow = 4,
                ncol = 3)
score
rownames(score) <- c('John', 'Tom', 'Mark', 'Jane')
colnames(score) <- c('English', 'Math', 'Science')
score
```

```{r 3-07}
score['John', 'Math'] # John의 수학 성적
score['Tom', c('Math', 'Science')] # Tom의 수학, 과학 성적
score['Mark', ] # Mark의 모든 과목 성적
score[, 'English'] # 모든 학생의 영어 성적
rownames(score) # score의 행의 이름
colnames(score) # score의 열의 이름
colnames(score)[2] # score의 열의 이름 중 두 번째 값
```

```{r 3-08}
city <- c("Seoul", "Tokyo", "Washington") # 문자로 이루어진 벡터
rank <- c(1, 3, 2) # 숫자로 이루어진 벡터
city.info <- data.frame(city, rank) # 데이터프레임 생성
city.info # city.info의 내용 출력
```

```{r 3-09}
# iris
iris[, c(1:2)] # 1, 2열의 모든 데이터
iris[, c(1, 3, 5)] # 1, 3, 5열의 모든 데이터
iris[, c("Sepal.Length", "Species")] # 1, 5열의 모든 데이터
iris[1:5, ] # 1~5행의 모든 데이터
iris[1:5, c(1, 3)] # 1~5행의 데이터 중 1, 3열의 데이터
```

```{r 3-10}
dim(iris) # 행과 열의 개수 출력
nrow(iris) # 행의 개수 출력
ncol(iris) # 열의 개수 출력
colnames(iris) # 열 이름 출력, names()와 결과 동일
head(iris) # 데이터셋의 앞부분 일부 출력
tail(iris) # 데이터셋의 뒷부분 일부 출력

head(iris, 10)
tail(iris, 20)
```

```{r 3-11}
str(iris) # 데이터셋 요약 정보 보기
iris[, 5] # 품종 데이터 보기
unique(iris[, 5]) # 품종의 종류 보기(중복 제거)
table(iris[, "Species"]) # 품종의 종류별 행의 개수 세기
```

```{r 3-12}
iris[, -5]
colSums(iris[, -5]) # 열별 합계
colMeans(iris[, -5]) # 열별 평균
rowSums(iris[, -5]) # 행별 합계
rowMeans(iris[, -5]) # 행별 평균
```

```{r 3-13}
z <- matrix(1:20, nrow = 4, ncol = 5)
z
t(z) # 행과열 방향 전환
```

```{r 3-14}
IR.1 <- subset(iris, Species == "setosa")
IR.1

IR.2 <- subset(iris, Sepal.Length > 5.0 & Sepal.Width > 4.0)
IR.2
IR.2[, c(2, 4)] # 2, 4열의 값만 추출

IR.3 <- subset(iris, Sepal.Length > 5.0 | Sepal.Width > 4.0)
IR.3
```

```{r 3-15}
a <- matrix(1:20, 4, 5)
b <- matrix(21:40, 4, 5)
a ; b

2 * a # 매트릭스 a에 저장된 값들에 2를 곱하기
b - 5
2 * a + 3 * b

a + b
b - a
b / a
a * b

a <- a * 3
a
b <- b - 5
b
```

```{r 3-16}
class(iris) # iris 데이터셋의 자료구조 확인
class(state.x77) # state.x77 데이터셋의 자료구조 확인
is.matrix(iris) # 데이터셋이 매트릭스인지를 확인하는 함수
is.data.frame(iris) # 데이터셋이 데이터프레임인지를 확인하는 함수
is.matrix(state.x77)
is.data.frame(state.x77)
```

```{r 3-17}
# 매트릭스를 데이터프레임으로 변환
st <- data.frame(state.x77)
head(st)
class(st)
```

```{r 3-18}
iris[, "Species"] # 결과=벡터. 매트릭스와 데이터프레임 모두 가능
iris[, 5] # 결과=벡터. 매트릭스와 데이터프레임 모두 가능
iris["Species"] # 결과=데이터프레임. 데이터프레임만 가능
iris[5] # 결과=데이터프레임. 데이터프레임만 가능
iris$Species # 결과=벡터. 데이터프레임만 가능
```

```{r 3-19}
getwd()
# setwd("G:/내 드라이브/202202/R_Basic/data") # 작업 폴더 지정
air <- read.csv("./R_Basic/data/airquality.csv", header = T) # .csv 파일 읽기
head(air)
```

```{r 3-20}
my.iris <- subset(iris, Species = 'Setosa') # Setosa 품종 데이터만 추출
write.csv(my.iris, "./R_Basic/data/my_iris_1.csv") # .csv 파일에 저장하기
```

## 4장. 조건문, 반복문, 함수

```{r 4-01}
job.type <- 'A'
if (job.type == 'B') {
    bonus <- 200 # 직무 유형이 B일 때 실행
} else {
    bonus <- 100 # 직무 유형이 B가 아닌 나머지 경우 실행
}
print(bonus)
```

```{r 4-02}
job.type <- 'B'
bonus <- 100
if (job.type == 'A') {
    bonus <- 200 # 직무 유형이 A일 때 실행
}
print(bonus)
```

```{r 4-03}
score <- 85

if (score > 90) {
    grade <- 'A'
} else if (score > 80) {
    grade <- 'B'
} else if (score > 70) {
    grade <- 'C'
} else if (score > 60) {
    grade <- 'D'
} else {
    grade <- 'F'
}

print(grade)
```

```{r 4-04}
a <- 10
b <- 20
if (a > 5 & b > 5) {    # and 사용
    print(a + b)
}

if (a > 5 | b > 30) {   # or 사용
    print(a * b)
}

if (a > 5 & b > 30) {
    print(a * b)
}

if (a > 20 | b > 30) {
    print(a * b)
}

if (a > 20 & b > 15) {
    print(a * b)
}

r_basic <- 70
python_basic <- 82

if (r_basic > 80 & python_basic > 80) {
    grade <- "Excellent"
} else {
    grade <- "Good"
}
grade
```

```{r 4-05}
a <- 10
b <- 20

if (a > b) {
    c <- a
} else {
    c <- b
}
print(c)

a <- 10
b <- 20

c <- ifelse(a > b, a, b)
print(c)
```

```{r 4-06}
for(i in 1:5) {
    print('*')
}

for (i in 1:5) {
    print(i)
}

for (i in 1:5) {
    a <- i * 2
    print(a)
}

# for (i in 1:10000) {
#     a <- i * 2
#     print(a)
# }

# for (i in 1:10000) {
#     a <- i * 2 / 1521 + 10000
#     print(a)
# }
```

```{r 4-07}
for (i in 6:10) {
    print(i)
}
```

```{r 4-08}
for(i in 1:9) {
    cat('2 *', i, '=', 2 * i, '\n')
}

for (i in 1:9) {
    cat('2 *', i, '=', 2 * i)
}

for (i in 1:9) {
    j <- i:10
    print(j)
}
```

```{r 4-09}
for(i in 1:20) {
    if (i %% 2 == 0) {  # 짝수인지 확인
        print(i)
    }
}
```

```{r 4-10}
sum <- 0
for (i in 1:100) {
    sum <- sum + i  # sum에 i 값을 누적
}
print(sum)

sum <- 0
for (i in 1:100) {
    sum <- sum + i
    print(c(sum, i))
}
print(sum)

sum <- 0
for (i in 1:100) {
    print(c(sum, i))
    sum <- sum + i
}
print(sum)
```

```{r 4-11}
norow <- nrow(iris)                             # iris의 행의 수
mylabel <- c()                                  # 비어 있는 벡터 선언
for (i in 1:norow) {
    if (iris$Petal.Length[i] <= 1.6) {          # 꽃잎의 길이에 따라 레이블 결정
        mylabel[i] <- 'L'
    } else if (iris$Petal.Length[i] >= 5.1) {
        mylabel[i] <- 'H'
    } else {
        mylabel[i] <- 'M'
    }
    print(c(iris$Petal.Length[i], mylabel))
}
print(mylabel)                                  # 레이블 출력
newds <- data.frame(iris$Petal.Length, mylabel) # 꽃잎의 길이와 레이블 결합
head(newds)                                     # 새로운 데이터셋 내용 출력
```

```{r 4-12}
sum <- 0
i <- 1
while (i <= 100) {
    sum <- sum + i      # sum에 i 값을 누적
    i <- i + 1          # i 값을 1 증가시킴
    print(c(sum, i))
}
print(sum)

#---------------------------------------#
# 오류 없이 계속 실행됨
# sum <- 0
# i <- 1
# while(i >= 1) {
#   sum <- sum + i # sum에 i 값을 누적
#   i <- i + 1 # i 값을 1 증가시킴
#   print(c(sum,i))
# }
# print(sum)
#---------------------------------------#
```

```{r 4-13}
sum <- 0
for (i in 1:10) {
    sum <- sum + i
    print(c(sum, i))
    if (i >= 5)
        break
}
sum
```

```{r 4-14}
sum <- 0
for (i in 1:10) {
    if (i %% 2 == 0)
        next # %% = 나머지
    sum <- sum + i
    print(c(sum, i))
}
sum
```

```{r 4-15}
apply(iris[, 1:4], 1, mean) # row 방향으로 함수 적용
apply(iris[, 1:4], 2, mean) # col 방향으로 함수 적용

result <- c()
for (i in 1:4) {
    iris_col <- iris[, i]
    iris_col_mean_temp <- mean(iris_col)
    result <- c(result, iris_col_mean_temp)
}
result
```

```{r 4-16}
mymax <- function(x, y) {
    num.max <- x
    if (y > x) {
        num.max <- y
    }
    return(num.max)
}
```

```{r 4-17}
mymax(10, 15)
a <- mymax(20, 15)
b <- mymax(31, 45)
print(a + b)
```

```{r 4-18}
mydiv <- function(x, y = 2) {
    result <- x / y
    return(result)
}

mydiv(x = 10, y = 3) # 매개변수 이름과 매개변수값을 쌍으로 입력
mydiv(10, 3) # 매개변수값만 입력
mydiv(10) # x에 대한 값만 입력(y 값이 생략됨)
```

```{r 4-19}
myfunc <- function(x, y) {
    val.sum <- x + y
    val.mul <- x * y
    return(list(sum = val.sum, mul = val.mul))
}

result <- myfunc(5, 8)
result
s <- result$sum # 5, 8의 합
m <- result$mul # 5, 8의 곱
cat('5+8=', s, '\n')
cat('5*8=', m, '\n')
```

```{r 4-20}
getwd()
# source("myfunc.R") # myfunc.R 안에 있는 함수 실행

a <- mydiv(20, 4) # 함수 호출
b <- mydiv(30, 4) # 함수 호출
a + b
mydiv(mydiv(20, 2), 5) # 함수 호출
```

```{r 4-21}
score <- c(76, 84, 69, 50, 95, 60, 82, 71, 88, 84)
which(score == 69) # 성적이 69인 학생은 몇 번째에 있나
which(score >= 85) # 성적이 85 이상인 학생은 몇 번째에 있나

max(score) # 최고 점수는 몇 점인가
which.max(score) # 최고 점수는 몇 번째에 있나
score[which.max(score)] # 최고 점수는 몇 점인가

min(score) # 최저 점수는 몇 점인가
which.min(score) # 최저 점수는 몇 번째에 있나
score[which.min(score)] # 최저 점수는 몇 점인가
```

```{r 4-22}
score <- c(76, 84, 69, 50, 95, 60, 82, 71, 88, 84)
idx <- which(score <= 60) # 성적이 60 이하인 값들의 인덱스
idx
score[idx]
score[idx] <- 61 # 성적이 60 이하인 값들은 61점으로 성적 상향 조정
score # 상향 조정된 성적 확인

idx <- which(score >= 80) # 성적이 80 이상인 값들의 인덱스
idx
score[idx]
score.high <- score[idx] # 성적이 80 이상인 값들만 추출하여 저장
score.high # score.high의 내용 확인
```

```{r 4-23}
iris
iris$Petal.Length
iris$Petal.Length > 5.0
which(iris$Petal.Length > 5.0)

iris$Petal.Length[iris$Petal.Length > 5.0]

idx <- which(iris$Petal.Length > 5.0) # 꽃잎의 길이가 5.0 이상인 값들의 인덱스
idx
iris.big <- iris[idx, ] # 인덱스에 해당하는 값만 추출하여 저장
iris.big
```

```{r 4-24}
# 1~4열의 값 중 5보다 큰 값의 행과 열의 위치
which(iris[, 1:4] > 5.0)
which(iris[, 1:4] > 5.0, arr.ind = TRUE) # arr.ind = TRUE : 조건에 맞는 인덱스까지 반환

idx <- which(iris[, 1:4] > 5.0, arr.ind = TRUE)
iris[idx[, 1], ]

iris[, 1:4][idx]
```

## 5장. 단일변수 자료의 탐색

```{r 5-01}
favorite <- c('WINTER', 'SUMMER', 'SPRING', 'SUMMER', 'SUMMER',
              'FALL', 'FALL', 'SUMMER', 'SPRING', 'SPRING')
favorite # favorite의 내용 출력
table(favorite) # 도수분포표 계산
length(favorite)
table(favorite) / length(favorite) # 비율 출력
```

```{r 5-02}
ds <- table(favorite)
ds
barplot(ds, main = 'favorite season')
```

```{r 5-03}
ds <- table(favorite)
ds
pie(ds, main = 'favorite season')
```

```{r 5-04}
favorite.color <- c(2, 3, 2, 1, 1, 2, 2, 1, 3, 2, 1, 3, 2, 1, 2)
ds <- table(favorite.color)
ds
barplot(ds, main = 'favorite color')
colors <- c('green', 'red', 'blue')
names(ds) <- colors # 자료값 1, 2, 3을 green, red, blue로 변경
ds
barplot(ds, main = 'favorite color', col = colors) # 색 지정 막대그래프
barplot(ds, main = 'favorite color', col = c('green', 'red', 'blue'))
pie(ds, main = 'favorite color', col = colors) # 색 지정 원그래프
```

```{r 5-05}
weight <- c(60, 62, 64, 65, 68, 69)
weight.heavy <- c(weight, 120)
weight
weight.heavy

mean(weight) # 평균
mean(weight.heavy) # 평균

median(weight) # 중앙값
median(weight.heavy) # 중앙값

mean(weight, trim = 0.2) # 절사평균(상하위 20% 제외)
mean(weight.heavy, trim = 0.2) # 절사평균(상하위 20% 제외)
```

```{r 5-06}
mydata <- c(60, 62, 64, 65, 68, 69, 120)
quantile(mydata)
quantile(mydata, (0:10) / 10) # 10% 단위로 구간을 나누어 계산
summary(mydata) # 최소값, 중앙값, 평균값, 3분위 값, 최대값

mydata <- 0:1000
quantile(mydata)
quantile(mydata, (0:10) / 10)
summary(mydata)
?quantile
```

```{r 5-07}
mydata <- c(60, 62, 64, 65, 68, 69, 120)
var(mydata) # 분산
sd(mydata) # 표준편차
range(mydata) # 값의 범위
diff(range(mydata)) # 최대값, 최소값의 차이
```

```{r 5-08}
dist <- cars[, 2] # 자동차 제동거리
hist(dist,                            # 자료(data)
     main = "Histogram for 제동거리", # 제목
     xlab = "제동거리",               # x축 레이블
     ylab = "빈도수",                 # y축 레이블
     border = "blue",                 # 막대 테두리색
     col = rainbow(10),               # 막대 색
     las = 2,                         # x축 글씨 방향(0~3)
     breaks = seq(0, 120, 10))        # 막대 개수 조절
```

```{r 5-09}
dist <- cars[,2] # 자동차 제동거리(단위: 피트(ft))
boxplot(dist, main = "자동차 제동거리") # ★★★★★
```

```{r 5-10}
boxplot.stats(dist)
boxplot.stats(dist)$stats
boxplot.stats(dist)$stats[4]
```

```{r 5-11}
boxplot(Petal.Length ~ Species, data = iris, main = "품종별 꽃잎의 길이")

par(mfrow = c(1, 3)) # 1*3 가상화면 분할

barplot(
    table(mtcars$carb),
    main = "Barplot of Carburetors",
    xlab = "#of carburetors",
    ylab = "frequency",
    col = "blue"
)

barplot(
    table(mtcars$cyl),
    main = "Barplot of Cylender",
    xlab = "#of cylender",
    ylab = "frequency",
    col = "red"
)

barplot(
    table(mtcars$gear),
    main = "Barplot of Grar",
    xlab = "#of gears",
    ylab = "frequency",
    col = "green"
)

par(mfrow = c(1, 1)) # 가상화면 분할 해제
```

## 6장. 다중변수 자료의 탐색

```{r 6-01}
wt <- mtcars$wt                 # 중량 자료
mpg <- mtcars$mpg               # 연비 자료
plot(wt, mpg,                   # 2개 변수(x축, y축)
     main = "중량-연비 그래프", # 제목
     xlab = "중량",             # x축 레이블
     ylab = "연비(MPG)",        # y축 레이블
     col = "red",               # point의 color
     pch = 11)                  # point의 종류
```

```{r 6-02}
vars <- c("mpg", "disp", "drat", "wt") # 대상 변수(연비, 배기량, 후방차측 비율, 중량)
target <- mtcars[, vars]
head(target)
pairs(target, main = "Multi Plots")    # 대상 데이터
```

```{r 6-03}
iris.2 <- iris[, 3:4]              # 데이터 준비
point <- as.numeric(iris$Species)  # 점의 모양
point                              # point 내용 출력
color <- c("red", "green", "blue") # 점의 컬러
plot(iris.2,
     main = "Iris plot",
     pch = c(point),
     col = color[point])
```

```{r 6-04}
beers = c(5, 2, 9, 8, 3, 7, 3, 5, 3, 5) # 자료 입력
bal <- c(0.1, 0.03, 0.19, 0.12, 0.04, 0.0095, 0.07, 0.06, 0.02, 0.05)
tbl <- data.frame(beers, bal)           # 데이터프레임 생성
tbl
plot(bal ~ beers, data = tbl)           # 산점도 plot(beers, bal)
res <- lm(bal ~ beers, data = tbl)      # 회귀식 도출
abline(res)                             # 회귀선 그리기
cor(beers, bal)                         # 상관계수 계산
```

```{r 6-05}
cor(iris[, 1:4]) # 4개 변수 간 상관성 분석
```

```{r 6-06}
month = 1:12 # 자료 입력
late = c(5, 8, 7, 9, 4, 6, 12, 13, 8, 6, 6, 4) # 자료 입력
plot(month,                # x data
     late,                 # y data
     main = "지각생 통계", # 제목
     type = "l",           # 그래프의 종류 선택(알파벳)
     lty = 1,              # 선의 종류(line type) 선택
     lwd = 1,              # 선의 굵기 선택
     xlab = "Month",       # x축 레이블
     ylab = "Late cnt")    # y축 레이블
```

```{r 6-07}
month = 1:12
late1 = c(5, 8, 7, 9, 4, 6, 12, 13, 8, 6, 6, 4)
late2 = c(4, 6, 5, 8, 7, 8, 10, 11, 6, 5, 7, 3)
plot(month,                  # x data
     late1,                  # y data
     main = "Late Students",
     type = "b",             # 그래프의 종류 선택(알파벳)
     lty = 1,                # 선의 종류(line type) 선택
     col = "red",            # 선의 색 선택
     xlab = "Month",         # x축 레이블
     ylab = "Late cnt",      # y축 레이블
     ylim = c(1, 15))        # y축 값의 (하한, 상한)

lines(month,                 # x data
      late2,                 # y data
      type = "b",            # 선의 종류(line type) 선택
      col = "blue")          # 선의 색 선택
```

```{r 6-08}
## (1) 분석 대상 데이터셋 준비
# install.packages("mlbench")
library(mlbench)
data("BostonHousing")
myds <- BostonHousing[, c("crim", "rm", "dis", "tax", "medv")]

## (2) grp 변수 추가 ★★★★★
grp <- c()
for (i in 1:nrow(myds)) {
    # myds$medv 값에 따라 그룹 분류
    if (myds$medv[i] >= 25.0) {
        grp[i] <- "H"
    } else if (myds$medv[i] <= 17.0) {
        grp[i] <- "L"
    } else {
        grp[i] <- "M"
    }
}
grp <- factor(grp) # 문자 벡터를 팩터 타입으로 변경
grp <- factor(grp, levels = c("H", "M", "L")) # 레벨의 순서를 H, L, M -> H, M, L

myds <- data.frame(myds, grp) # myds에 grp 열 추가

## (3) 데이터셋의 형태와 기본적인 내용 파악
str(myds)
head(myds)
table(myds$grp) # 주택 가격 그룹별 분포

## (4) 히스토그램에 의한 관측값의 분포 확인
par(mfrow = c(2, 3)) # 2*3 가상화면 분할
for (i in 1:5) {
    hist(myds[, i], main = colnames(myds)[i], col = "yellow")
}
par(mfrow = c(1, 1)) # 2*3 가상화면 분할 해제

## (5) 상자그림에 의한 관측값의 분포 확인
par(mfrow = c(2, 3)) # 2*3 가상화면 분할
for (i in 1:5) {
    boxplot(myds[, i], main = colnames(myds)[i])
}
par(mfrow = c(1, 1)) # 2*3 가상화면 분할 해제

## (6) 그룹별 관측값 분포의 확인
boxplot(myds$crim ~ myds$grp, main = "1인당 범죄율")
boxplot(myds$rm ~ myds$grp, main = "방의 개수")
boxplot(myds$dis ~ myds$grp, main = "직업 센터까지의 거리")
boxplot(myds$tax ~ myds$grp, main = "재산세율")

## (7) 다중 산점도를 통한 변수 간 상관 관계의 확인
pairs(myds[, -6]) # 6번째 열 제거(grp)
pairs(myds[, 1:5])

## (8) 그룹 정보를 포함한 변수 간 상관 관계의 확인
point <- as.integer(myds$grp) # 점의 모양 지정
color <- c("red", "green", "blue") # 점의 색 지정
pairs(myds[, -6], pch = point, col = color[point])

## (9) 변수 간 상관계수의 확인
cor(myds[, -6])
cor(myds[1:5])
```

## 7장. 데이터 전처리

```{r 7-01}
z <- c(1, 2, 3, NA, 5, NA, 8)   # 결측값이 포함된 벡터 z
sum(z)                          # 정상 계산이 안 됨
is.na(z)                        # NA 여부 확인
sum(is.na(z))                   # NA의 개수 확인
sum(z, na.rm = TRUE)            # NA를 제외하고 합계를 계산
```

```{r 7-02}
z1 <- c(1, 2, 3, NA, 5, NA, 8)          # 결측값이 포함된 벡터 z1
z2 <- c(5, 8, 1, NA, 3, NA, 7)          # 결측값이 포함된 벡터 z2
z1[is.na(z1)] <- 0                      # NA를 0으로 치환
z1

z1[is.na(z1)] <- mean(z1, na.rm = TRUE) # NA를 z1의 평균값으로 치환
z1

z3 <- as.vector(na.omit(z2))            # NA를 제거하고 새로운 벡터 생성
z3
```

```{r 7-03}
# NA를 포함하는 test 데이터 생성
x <- iris
x[1, 2] <- NA
x[1, 3] <- NA
x[2, 3] <- NA
x[3, 4] <- NA
head(x)
```

```{r 7-04}
# for문을 이용한 방법 ★★★★★
for (i in 1:ncol(x)) {
    this.na <- is.na(x[, i])
    cat(colnames(x)[i], "\t", sum(this.na), "\n")
}

# apply를 이용한 방법
col_na <- function(y) {
    return(sum(is.na(y)))
}

na_count <- apply(x, 2, FUN = col_na)
na_count
```

```{r 7-05}
rowSums(is.na(x))           # 행별 NA의 개수
sum(rowSums(is.na(x)) > 0)  # NA가 포함된 행의 개수

sum(is.na(x))               # 데이터셋 전체에서 NA 개수
```

```{r 7-06}
head(x)
x[!complete.cases(x), ]     # NA가 포함된 행들 출력
y <- x[complete.cases(x), ] # NA가 포함된 행들 제거
head(y)                     # 새로운 데이터셋 y의 내용 확인
```

```{r 7-07}
st <- data.frame(state.x77)
boxplot(st$Income)
boxplot.stats(st$Income)
# stats (각 변수의 최소값, 1사분위수, 2사분위수, 3사분위수, 최대값이 저장되어 있는 행렬)
# n (각 그룹마다의 관측값 수를 저장한 벡터)
# conf (중앙값의 95% 신뢰구간, median+-1.58*IQR/(n)^0.5)
# out (이상치)
boxplot.stats(st$Income)$out
```

```{r 7-08}
out.val <- boxplot.stats(st$Income)$out     # 특이값 추출

st$Income %in% out.val
st$Income == out.val

st$Income[st$Income %in% out.val] <- NA     # 특이값을 NA로 대체
st$Income[st$Income == out.val] <- NA

head(st)
newdata <- st[complete.cases(st), ]         # NA가 포함된 행 제거 ★★★★★
head(newdata)
```

```{r 7-09}
v1 <- c(1, 7, 6, 8, 4, 2, 3)
order(v1)

v1 <- sort(v1) # 오름차순
v1
v1[order(v1)]

v2 <- sort(v1, decreasing = T) # 내림차순
v2
```

```{r 7-10}
head(iris)
order(iris$Sepal.Length)
iris[order(iris$Sepal.Length), ]                    # 오름차순으로 정렬
iris[order(iris$Sepal.Length, decreasing = T), ]    # 내림차순으로 정렬

iris.new <- iris[order(iris$Sepal.Length), ]        # 정렬된 데이터를 저장
head(iris.new)
iris[order(iris$Species,-iris$Petal.Length, decreasing = T), ] # 정렬 기준이 2개
iris[order(iris$Species, decreasing = T, iris$Petal.Length), ]
```

```{r 7-11}
sp <- split(iris, iris$Species) # 품종별로 데이터 분리
sp                              # 분리 결과 확인
summary(sp)                     # 분리 결과 요약
sp$setosa                       # setosa 품종의 데이터 확인
setosa <- sp$setosa
```

```{r 7-12}
subset(iris, Species == "setosa")
subset(iris, Sepal.Length > 7.5)
subset(iris, Sepal.Length > 5.1 &
           Sepal.Width > 3.9)
subset(iris, Sepal.Length > 5.1 |
           Sepal.Width > 3.9)
subset(iris, Sepal.Length > 7.6,
       select = c(Petal.Length, Petal.Width))
```

```{r 7-13}
x <- 1:10
sample(x, size = 5, replace = FALSE) # 비복원추출
sample(x, size = 5, replace = TRUE)

x <- 1:45
sample(x, size = 6, replace = FALSE)
```

```{r 7-14}
idx <- sample(1:nrow(iris), size = 50,
              replace = FALSE)
iris.50 <- iris[idx, ]  # 50개의 행 추출
dim(iris.50)            # 행과 열의 개수 확인
head(iris.50)
```

```{r 7-15}
sample(1:20, size = 5)
sample(1:20, size = 5)
sample(1:20, size = 5)

# 같은 값이 추출되도록 고정시키고 싶다면
# set.seed() 함수를 이용하여 seed값을 지정해주면 된다.
set.seed(100)
sample(1:20, size = 5)
set.seed(100)
sample(1:20, size = 5)
set.seed(100)
sample(1:20, size = 5)
```

```{r 7-16}
combn(1:5, 3) # 1~5에서 3개를 뽑는 조합

x = c("red", "green", "blue", "black", "white")
com <- combn(x, 2) # x의 원소를 2개씩 뽑는 조합
com

for (i in 1:ncol(com)) {
    # 조합을 출력
    cat(com[, i], "\n")
}
```

```{r 7-17}
# aggregate(data, by = '기준이 되는 컬럼', FUN)
agg <- aggregate(iris[, -5], by = list(iris$Species), FUN = mean)
agg
```

```{r 7-18}
# aggregate는 데이터의 특정 컬럼을 기준으로 통계량을 구해주는 함수
agg <- aggregate(iris[, -5], by = list(표준편차 = iris$Species), FUN = sd)
agg
```

```{r 7-19}
head(mtcars)
agg <- aggregate(mtcars, by = list(cyl = mtcars$cyl, vs = mtcars$vs), FUN = max)
agg

agg <- aggregate(mtcars, by = list(cyl = mtcars$cyl, vs = mtcars$vs), FUN = mean)
agg
```

```{r 7-20}
x <- data.frame(name = c("a", "b", "c"), math = c(90, 80, 40))
y <- data.frame(name = c("a", "b", "d"), korean = c(75, 60, 90))
x ; y
```

```{r 7-21}
z <- merge(x, y, by = c("name"))
z
```

```{r 7-22}
merge(x, y, all.x = T)  # 첫 번째 데이터셋의 행들은 모두 표시되도록
merge(x, y, all.y = T)  # 두 번째 데이터셋의 행들은 모두 표시되도록
merge(x, y, all = T)    # 두 데이터셋의 모든 행들이 표시되도록
```

```{r 7-23}
x <- data.frame(name = c("a", "b", "c"), math = c(90, 80, 40))
y <- data.frame(sname = c("a", "b", "d"), korean = c(75, 60, 90))
x # 병합 기준 열의 이름이 name
y # 병합 기준 열의 이름이 sname
merge(x, y, by.x = c("name"), by.y = c("sname"))
```